从以前的版本的问题,有这个:浏览网站的ip地址而不是本地主机,这概述了我目前所做的…我已经把本地IP打开了。然后我找到了ngrok,显然我不需要通过IP连接。
我要做的是暴露我的网站运行在本地主机到互联网。我找到了一个可以做到这一点的工具:ngrok。
在visual studio中运行网站,网站在localhost/port#上启动。我在命令行中运行命令“ngrok http port#”。一切似乎都启动正常。我生成了两个url, ngrok检查url (localhost:4040)工作正常。
唯一的问题是,当我转到生成的url时,我得到一个HTTP错误400:坏请求无效的主机名。这是一个不同的错误,而不是当我运行“ngrok http wrongport#”,这是一个主机没有发现错误…所以我觉得有好事发生了。我就是不知道…
在通过隧道服务向互联网公开我的站点时,我是否遗漏了一个步骤?如果有,我在ngrok文档中找不到。
这对我没用。
你可以这样做:
针对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
尝试使用全局基础设施> locations中的不同位置
ngrok http -region eu 8080
您可以在http://localhost:4040上使用ngrok流量检查器发出请求并查看通过隧道的任何流量。
命令行中的OR
ngrok http -region eu 8080 --log=stdout
如果一个地区失败了,那就在另一个地区试试。
Ngrok在世界各地的数据中心运行隧道服务器。给定区域内数据中心的位置可能会在不通知的情况下发生变化(例如,欧洲服务器可能会从法兰克福转移到伦敦)。
us -美国(俄亥俄州)
欧盟-欧洲(法兰克福)
ap -亚太地区(新加坡)
au -澳大利亚(悉尼)
sa -南美洲(圣保罗)
jp -日本(东京)
in -印度(孟买)
这对我没用。
你可以这样做:
针对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