ngrok https 主机头导致重定向到本地主机

问题描述 投票:0回答:1

对使用

ngrok
相当陌生。我正在尝试使用它来将我的本地主机站点公开到网络上,以便测试第 3 方插件。请注意,我们的网站需要
https
,因此我无法在正常
ngrok
模式下使用
http
。如果我运行
ngrok http https://localhost:[MyPort] --domain [MyNgrokDomain]
,它会正常启动,并显示相应的
Forwarding
行,但是,导航到该站点会产生
400 Invalid Hostname
错误。

我可以通过将命令更改为

ngrok http https://localhost:[MyPort] --domain [MyNgrokDomain] --host-header localhost:[MyPort]
来纠正此问题。现在,URL 已解析,但它会自动将其重定向到
https://localhost:[MyPort]
。这在本地有效,但当然在其他地方都失败了。

如有任何建议,我们将不胜感激。谢谢!

.net-6.0 portforwarding ngrok hostheaders
1个回答
0
投票

这对我有用。 Ngrok 在请求中设置这些标头。

//Services
        services.Configure<ForwardedHeadersOptions>(options =>
        {
            options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto |
                                       ForwardedHeaders.XForwardedHost;
        });

//Config
        app.UseForwardedHeaders(new ForwardedHeadersOptions
        {
            RequireHeaderSymmetry = false,
            ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto |
                               ForwardedHeaders.XForwardedHost
        });
© www.soinside.com 2019 - 2024. All rights reserved.