![如何在同一台服务器上运行 IIS 的端口 443 上运行 VisualSVN Server?](https://linux22.com/image/543162/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E8%BF%90%E8%A1%8C%20IIS%20%E7%9A%84%E7%AB%AF%E5%8F%A3%20443%20%E4%B8%8A%E8%BF%90%E8%A1%8C%20VisualSVN%20Server%EF%BC%9F.png)
服务器 2008 R2 SP1
VisualSVN 服务器 2.1.6
IIS 服务器有大约 10 个站点。其中一个站点通过端口 443 使用 https,绑定如下:
http x.x.x.39:80 site.com
http x.x.x.39:80 www.site.com
https x.x.x.39:443
VisualSVN 服务器属性
server name: svn.SomeSite.com
server port: 443
Server Binding: x.x.x.40
IIS 上没有站点正在监听 xxx40。
启动 VisualSVN 服务器时出现以下错误:
- make_sock:无法绑定到地址 xxx40:443(OS 10013)尝试以访问权限禁止的方式访问套接字。
- 没有可用的监听套接字,正在关闭
当我在 IIS 上停止 Site.com 时,VisualSVN Server 可以顺利启动。当我将 VisualSVN 服务器绑定到端口 8443 并启动 Site.com 时,VisualSVN Server 可以顺利启动。
我的目标是能够使用普通 URL 访问 VisualSvn 服务器,即,地址中不使用端口号的 URL:
https://svn.site.com vs https://svn.site.com:8443
需要进行哪些配置才能允许 VisualSVN Server 在端口 443 上运行,并且 IIS 在同一台服务器上运行?
编辑/回答
这答案由 Ivan 提供确实为我指明了正确的方向。对于遇到此问题的其他任何人,这里有更多信息。
即使我的 IIS 没有设置与用于 VisualSvn 的 IP 地址的绑定,除非明确告知 IIS 要监听哪些 IP 地址,否则 IIS 仍会劫持该 IP 地址。
Win Server 2k8 中没有 GUI 来配置 IIS 监听的 IP 地址;默认情况下,IIS 监听分配给服务器的所有 IP 地址。
以下内容将有助于配置 IIS 以仅侦听您想要的 IP 地址:
- 打开命令提示符
- 进入:
netsh
- 进入:
http
- 输入:
show iplisten
--> 这将显示 IIS 正在监听的 IP 地址表。默认情况下,该表为空(我猜这意味着 IIS 监听所有 IP) - 对于 IIS 应该监听的每个 IP 地址,输入:
add iplisten ipaddress=x.x.x.x
- 输入:
show iplisten
--> 您现在应该看到所有添加到监听表的 IP 地址。 - 退出然后重置 IIS。
这些命令也可以直接运行,即netsh http show iplisten
如果需要从监听表中删除一个IP地址:
- 打开命令提示符
- 进入:
netsh
- 进入:
http
- 进入:
delete iplisten ipaddress=x.x.x.x
- 退出然后重置 IIS。
答案1
已经回答那里.使用以下命令:
netsh http add iplisten ipaddress=x.x.x.39
答案2
两个独立的进程不能绑定到同一地址的同一端口。
有两个选择,一个是向服务器添加第二个 IP 地址,另一个是使用能够通过相同过程为 443 上的两个站点提供服务的反向代理。