繁体   English   中英

如何在我的本地应用程序中启用远程访问 - IIS Windows 10

[英]How to enable remote access in my local application - IIS Windows 10

我的机器上有一个应用程序,我可以通过localhost / myapplication正常访问它,但是我正在与支付网站集成,这个网站需要一个网址给我发送有关交易状态的通知,我知道我有没有我的应用程序在线,它将访问我的通知URL,但我需要在本地调试它。 有一种方法可以访问我的应用程序即使在我的机器上? 我做了很多关于如何将IIS放到网上的研究,但它只是发现线程解释了它是如何只在我所在的同一网络中进行的。 我正在使用Windows 10和IIS,在asp.net mvc和C#上构建

我目前采取的方法是下载我们的免费VS扩展名为Conveyor https://visualstudiogallery.msdn.microsoft.com/a429dbb7-a982-4541-b401-934375c02c0f?redir=0

它允许localhost下的计算机连接到您的IIS Express应用程序。 目前还不够,因为你还需要通过互联网连接到它。 我们实际上正致力于支持这一功能。

如果您能够将外部端口转发到您的计算机,那么您可以这样做。 例如,在家庭网络中,只需进入您的路由器,并设置一个任意端口转发到您的计算机,因此我们假设将端口50000转发到您的计算机的IP并为其提供运行Conveyor的端口(通常为45455)。

然后,您可以使用网络的公共IP和端口50000连接到您的应用。

例如。 在家庭网络上,您的路由器可能具有公共IP 96.97.98.0,因此您将使用支付系统中的地址https://96.97.98.0:50000

我有一个与IIS Express类似的问题。 我需要从连接到家庭网络的虚拟机访问本地网站。

默认情况下,IIS Express侦听TCPv6端口。 所以我不得不将它转发到我的网络接口上的某个TCPv4端口。

例如,如果您的网站运行在localhost:60000并且您希望它可以在192.168.1.50:3000访问,则可以在管理控制台或powershell下的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标头,否则IIS Express可能会拒绝400 Bad request错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM