使用自定义端口进行SSL

时间:2012-02-29 08:22:27

标签: ssl iis-7

我目前正在制定一项策略,默认情况下将部分网站/网络应用程序迁移到使用HTTPS。所有这些应用程序使用不同的主机头,并托管在同一台服务器上。有许多方法可以实现这一点,但最实用的方法似乎是为每个唯一的主机头使用不同的端口。

我的问题是:在自定义端口上运行PUBLIC网站有多常见?这些请求在本地防火墙或公司代理级别被阻止的可能性有多大?

十年前我曾经看过很多这样的东西,但从那以后它们似乎已经逐渐消失了,我现在很少看到使用自定义端口的网站。

3 个答案:

答案 0 :(得分:2)

非标准端口可能会在公司防火墙和代理处被阻止。可以使用多个IP地址(在同一台计算机上,如果您愿意)调查,而不是使用各种端口号,并在标准端口443上提供服务。

答案 1 :(得分:1)

(您可能会在ServerFault上找到更好的答案。)

防火墙通常用于将Internet的使用限制为端口的子集,因此通常会将端口配置为尽可能少的端口。情况并非总是如此,并且在很大程度上取决于环境,但很可能会阻止除了一些常用端口(例如HTTP,HTTPS,POP3,IMAP,POP3S,IMAPS,SSH)之外的端口。由于这个原因,在其默认端口(通常是8443)上部署Java容器(例如Tomcat)通常是一个问题(端口8443通常用于开发,因为您不需要root用户在Unix系统上使用它)。 / p>

这同样适用于HTTP代理服务器。我没有任何统计信息,但您可以查看默认配置。

For Squid

acl SSL_ports port 443
http_access deny CONNECT !SSL_ports

默认情况下,它只允许端口443上的CONNECT(代理中用于HTTPS连接的内容)。

同样,for TinyProxy

ConnectPort 443
ConnectPort 563

(我不会依赖端口563,一般来说是HTTPS服务器,无论如何都是NNTPS。)

您的其他选择是:

  • 在此IP地址上使用单个证书,其中包含多个使用者备用名称条目(一个对您需要提供的每个主机名有效)。
  • 使用多个IP地址。
  • 使用Server Name Indication,虽然这不适用于Windows XP上的IE上的客户端(我认为有一些移动客户端)。

答案 2 :(得分:0)

您可以使用web.config使其成为默认方式。我找到了另一个post about the port problem

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to HTTPS" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="^OFF$" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>