我目前正在制定一项策略,默认情况下将部分网站/网络应用程序迁移到使用HTTPS。所有这些应用程序使用不同的主机头,并托管在同一台服务器上。有许多方法可以实现这一点,但最实用的方法似乎是为每个唯一的主机头使用不同的端口。
我的问题是:在自定义端口上运行PUBLIC网站有多常见?这些请求在本地防火墙或公司代理级别被阻止的可能性有多大?
十年前我曾经看过很多这样的东西,但从那以后它们似乎已经逐渐消失了,我现在很少看到使用自定义端口的网站。
答案 0 :(得分:2)
非标准端口可能会在公司防火墙和代理处被阻止。可以使用多个IP地址(在同一台计算机上,如果您愿意)调查,而不是使用各种端口号,并在标准端口443上提供服务。
答案 1 :(得分:1)
(您可能会在ServerFault上找到更好的答案。)
防火墙通常用于将Internet的使用限制为端口的子集,因此通常会将端口配置为尽可能少的端口。情况并非总是如此,并且在很大程度上取决于环境,但很可能会阻止除了一些常用端口(例如HTTP,HTTPS,POP3,IMAP,POP3S,IMAPS,SSH)之外的端口。由于这个原因,在其默认端口(通常是8443)上部署Java容器(例如Tomcat)通常是一个问题(端口8443通常用于开发,因为您不需要root用户在Unix系统上使用它)。 / p>
这同样适用于HTTP代理服务器。我没有任何统计信息,但您可以查看默认配置。
acl SSL_ports port 443
http_access deny CONNECT !SSL_ports
默认情况下,它只允许端口443上的CONNECT
(代理中用于HTTPS连接的内容)。
同样,for TinyProxy:
ConnectPort 443
ConnectPort 563
(我不会依赖端口563,一般来说是HTTPS服务器,无论如何都是NNTPS。)
您的其他选择是:
答案 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>