对使用
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]
。这在本地有效,但当然在其他地方都失败了。
如有任何建议,我们将不胜感激。谢谢!
这对我有用。 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
});