正如标题所说,
我想设置我的 apache 来监听 443,并将配置 SSL。
所以,我的问题是:-
1)。这是否意味着我将没有端口 80 或任何其他没有 SSL 的端口?2)。我的网站只能通过 https 访问,无法通过 http 访问?谢谢
答案1
我建议不要使用 iptables 重定向来执行此操作。原因是当有人使用 HTTP 浏览您的网站时,他们的浏览器不会期待 SSL 会话握手。它可能有效,但绝对不能保证。
相反,我会有一个单独的 Apache 实例(或 VirtualHost)来监听端口 80。该 Apache 实例/VH 应配置为仅有的发出到启用 SSL 的站点的重定向,如下所示:
RedirectMatch /(.*) https://www.example.com/$1
这样,浏览器就会明白它正在被发送到 SSL 站点,并且 SSL 协商不会出现任何问题。
答案2
如果您配置 apache 时没有在端口 80 上进行监听,并确保将其正确配置为使用 ssl 监听端口 443,那么您的服务器将不会监听任何非 ssl 端口。
答案3
如果不初始化 SSL 连接,则无法将 HTTP 请求重定向到 HTTPS。因此,iptables 不会帮助您。您需要使用 Web 服务器执行此操作。