![将 LAN 上前往端口 443 的出站流量重定向到端口 80 或 8080](https://linux22.com/image/69068/%E5%B0%86%20LAN%20%E4%B8%8A%E5%89%8D%E5%BE%80%E7%AB%AF%E5%8F%A3%20443%20%E7%9A%84%E5%87%BA%E7%AB%99%E6%B5%81%E9%87%8F%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E7%AB%AF%E5%8F%A3%2080%20%E6%88%96%208080.png)
我将如何实现这一点,我尝试使用 iptables 一点,但没有成功。任何帮助将不胜感激。
我基本上只是想要它,以便每当 LAN 上的用户尝试使用 https(端口 443)连接到网站时,他们都会切换到 http(端口 80)。
单独提问。有些网站不允许http连接吗?比如谷歌或者youtube等。
更新有一个特定的网站,我想使用 http,如果我在 URL 中强制使用 http,它确实允许 http 连接。但是我希望所有连接到它的用户默认通过 http 连接。
-谢谢
答案1
答案很简单:你不能。 [1]
原因很简单:如果用户告诉他的浏览器使用 来连接到某个站点https
,浏览器将启动一个https
连接,而不是一个http
连接。
http
和之间的这种不兼容性https
是协议中基本技术差异的结果。出于明显的安全和隐私原因,在创建时尚未开发出https
从“降级”到“降级”的解决方法。http
而现在,技术差异使得尝试变得完全不可能。
http
只是为了让您知道:端口(即门)与和https
(即协议)无关。因此,转到端口 80 并不意味着您的连接将采用明文 ( http
),这实际上是您尝试执行的操作的问题。
正如一条额外的信息:您尝试做的事情在许多国家/地区都是非法的(至少如果您的用户事先没有明确警告[即,如果他们签署了一些证明他们知道的内容])。
[1] 嗯,你能将出站至 443 的流量重定向到端口 80。从技术上来说,这并不难。但这不会使https
请求突然退回到明文http
请求。