如何在同一台服务器上运行 IIS 的端口 443 上运行 VisualSVN Server?

如何在同一台服务器上运行 IIS 的端口 443 上运行 VisualSVN Server?

服务器 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 地址:

  1. 打开命令提示符
  2. 进入:netsh
  3. 进入:http
  4. 输入:show iplisten--> 这将显示 IIS 正在监听的 IP 地址表。默认情况下,该表为空(我猜这意味着 IIS 监听所有 IP)
  5. 对于 IIS 应该监听的每个 IP 地址,输入:add iplisten ipaddress=x.x.x.x
  6. 输入:show iplisten--> 您现在应该看到所有添加到监听表的 IP 地址。
  7. 退出然后重置 IIS。

这些命令也可以直接运行,即netsh http show iplisten

如果需要从监听表中删除一个IP地址:

  1. 打开命令提示符
  2. 进入:netsh
  3. 进入:http
  4. 进入:delete iplisten ipaddress=x.x.x.x
  5. 退出然后重置 IIS。

答案1

已经回答那里.使用以下命令:

netsh http add iplisten ipaddress=x.x.x.39

答案2

两个独立的进程不能绑定到同一地址的同一端口。

有两个选择,一个是向服务器添加第二个 IP 地址,另一个是使用能够通过相同过程为 443 上的两个站点提供服务的反向代理。

相关内容