![防止 IIS 监听单个 IP 地址的 443 端口](https://linux22.com/image/695344/%E9%98%B2%E6%AD%A2%20IIS%20%E7%9B%91%E5%90%AC%E5%8D%95%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80%E7%9A%84%20443%20%E7%AB%AF%E5%8F%A3.png)
我在 IIS 中运行一个网站,同时还在同一台服务器上运行另一个通过端口 1935 传输流媒体的软件。流媒体软件还具有通过端口 443 传输内容的功能。我已为其分配了 SSL 证书,但它无法绑定到其使用的 IP 地址上的端口 443,因为该 IP 地址已被 IIS 占用。
我无法使用“netsh”命令明确绑定网站正在使用的 IP 地址,因为我还需要在 IIS 中绑定流媒体应用程序的 IP 地址,以便可以通过端口 80 传送内容。
有没有办法可以停止 IIS 在端口 443 上监听特定的 IP 地址,同时仍然允许它在端口 80 上监听相同的 IP?
答案1
默认情况下,即使您在站点绑定中指定了 IP 地址,IIS 也会绑定到所有 IP 地址。
您需要在提升的命令提示符中运行以下命令。
netsh add iplisten ipaddress=www.xxx.yyy.zzz`
在哪里www.xxx.yyy.zzz是您希望 IIS 绑定到的 IP 地址。如果您希望 IIS 绑定到其他 IP 地址,请多次运行该命令。
https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-http
答案2
您可以在 bingings 中为您的网站进行配置:
- 打开 IIS 管理器。
- 在里面連接窗格中,展开站点树中的节点,然后单击选择要编辑绑定的站点。
- 在里面操作窗格中,单击绑定。
- 在里面站点绑定对话框中,选择您需要释放的 ip 地址绑定并将其删除。或者
*
在 ip 地址字段中选择 443 端口绑定,然后编辑它以关闭与要释放的 ip 地址的绑定。 - 编辑后关闭好的
答案3
因为我是 PowerShell 的粉丝,所以这里有一些 powershell,你可以使用它来查看 IIS 上使用 443 的内容
Get-WebBinding | Where-Object { $_.Port -eq 443 }
然后您可以删除该绑定或重新分配到另一个端口。
Get-WebBinding | Where-Object { $_.Port -eq 443 } | ForEach-Object { Remove-WebBinding -Binding $_ }