我的机器上有一个应用程序,我可以正常地通过localhost/myapplication访问它,但是我正在与一个支付网站集成,这个网站需要一个url来给我发送关于交易状态的通知,我知道如果我把我的应用程序放在网上,它会访问我的通知url,但我需要在本地对其进行调试。有没有一种方法可以让我的应用程序即使留在我的机器上也能访问?我做了很多关于如何将IIS放到网上的研究,但它只是找到了解释如何在与我相同的网络中使用IIS的线索我使用的是windows10和IIS,它们是基于asp.net mvc和C#构建的。
发布于 2017-01-27 02:08:08
目前我将采用的方法是下载我们的免费VS扩展,称为to https://visualstudiogallery.msdn.microsoft.com/a429dbb7-a982-4541-b401-934375c02c0f?redir=0
它允许脱离本地主机的计算机连接到您的IIS Express应用程序。目前,这还不够,因为你还需要通过互联网连接到它。我们实际上正在开发支持这一功能的功能。
如果您能够将外部端口转发到您的计算机,那么您可以这样做。例如,在家庭网络中,只需连接到您的路由器,并设置任意端口转发到您的计算机,因此假设转发端口50000到您机器的IP,并为其提供传送器运行的端口(通常为45455)。
然后,您可以使用网络的公共IP和端口50000连接到您的应用程序。
例如:在家庭网络上,您的路由器可能具有公共IP 96.97.98.0,因此您将使用来自支付系统的地址https://96.97.98.0:50000。
发布于 2017-03-07 17:26:25
我在使用IIS Express时遇到了类似的问题。我需要从连接到我的家庭网络的虚拟机访问本地网站。
默认情况下,IIS Express侦听TCPv6端口。所以我不得不把它转发到我的网络接口上的某个TCPv4端口。
例如,如果您的网站在localhost:60000
上运行,并且您希望在192.168.1.50:3000
上可以访问它,则可以在管理控制台或管理下的powershell中执行以下操作:
PS C:\Windows\system32> netsh
netsh>interface
netsh interface>portproxy
netsh interface portproxy>add v4tov6 listenport=3000 connectaddress=[::1] connectport=60000
现在,当您打开http://localhost:3000/或http://192.168.1.50:3000/时,您应该会看到您的网站在60000
端口上运行。
这里有一篇关于这方面的博客文章- http://programmingflow.com/2017/02/25/iis-express-on-external-ip.html
该解决方案是永久性的,您不需要在重启后重复配置,也不需要任何第三方软件或更改您的网站的配置。
唯一需要进一步调整的是确保请求中包含正确的Host
HTTP-header,否则IIS Express可能会以400 Bad request
错误拒绝它们。
https://stackoverflow.com/questions/41782391
复制相似问题