从以前的版本的问题,有这个:浏览网站的ip地址而不是本地主机,这概述了我目前所做的…我已经把本地IP打开了。然后我找到了ngrok,显然我不需要通过IP连接。


我要做的是暴露我的网站运行在本地主机到互联网。我找到了一个可以做到这一点的工具:ngrok。

在visual studio中运行网站,网站在localhost/port#上启动。我在命令行中运行命令“ngrok http port#”。一切似乎都启动正常。我生成了两个url, ngrok检查url (localhost:4040)工作正常。

唯一的问题是,当我转到生成的url时,我得到一个HTTP错误400:坏请求无效的主机名。这是一个不同的错误,而不是当我运行“ngrok http wrongport#”,这是一个主机没有发现错误…所以我觉得有好事发生了。我就是不知道…

在通过隧道服务向互联网公开我的站点时,我是否遗漏了一个步骤?如果有,我在ngrok文档中找不到。


当前回答

对于https,这是有效的:

ngrok http https://localhost:<端口>——host-header="localhost:<端口>"

其他回答

下面的命令将修复这个问题

ngrok http -host-header=localhost 8080

步骤。

在控制台中从ngrok.exe目录运行命令。ngrok http 端口即ngrok http 80 https://www.screencast.com/t/oyuEPlR6Z设置 Ngrok url到你的应用程序。

它将创建到应用程序的隧道。

谢谢。

这对我没用。 你可以这样做:

针对IIS Express

VS 2015: 转到.vs\config\applicationhost。项目中的Config文件夹

在VS 2013及更早的版本中: 转到%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config

找到这样的绑定:

<binding protocol="http" bindingInformation="*:5219:localhost" />

对我来说,这是一个运行在5219端口上的项目

改为

  <binding protocol="http" bindingInformation="*:5219:" />

IIS Express现在将接受该端口上的所有传入连接。

缺点:您需要以管理员身份运行IIS Express。

或者你可以用Ngrok重写主机头文件:

ngrok.exe http -host-header=rewrite localhost:5219

我遇到了同样的问题,使用了以下解决方案:

确保您在IIS中的应用程序绑定设置为所有未分配的IP地址 执行命令ngrok HTTP 127.0.0.1:173——region=eu——hostname=yourcustomdomain.eu.ngrok.io

就是这样。完美的工作。这个解决方案也适用于付费专业帐户

对于https,这是有效的:

ngrok http https://localhost:<端口>——host-header="localhost:<端口>"