我有一個 ubuntu 22.04 伺服器,本地網路上用戶的 IP 位址列表,我想將 http/https 流量從此列表重定向到本地資訊 html 頁面。類似熱點的方式。我試過 apache2、squid、wpad (252 dhcp)、iptables,但我沒能做到。 https 不重定向。
我該怎麼做?
答案1
iptables 無法將 ip:443 重定向到另一個 ip:port (我在資訊區塊頁面上發布了 apache2 虛擬主機)
您可以重定向 TCP/IP 串流,但瀏覽器將顯示安全性警告,因為您將無法出示有效的憑證。
魷魚快取僅在瀏覽器中顯示帶有「錯誤頁面」的http頁面時顯示資訊(HTTPS不顯示自訂錯誤頁面)(更多資訊請查看此處)
如您所注意到的,瀏覽器不會顯示 TLS 的錯誤頁面;當收到 200 代碼以外的任何內容時,他們會顯示自己的錯誤訊息。
幾乎全部今天的流量是 TLS 加密的,您無法查看或修改它。也就是說:你不能聲稱你是example.com
,也不能重定向example.com
到其他任何東西。
除非您完全控制客戶端,並且可以安裝新的根證書,否則您不能聲稱自己是example.com
.
PS:如果有某種方法可以阻止並顯示允許 https 流量(tcp 443)訪問此頁面的阻止頁面,我將不勝感激並附有具體示例的詳細解釋。
沒有這樣的方法適用於現代瀏覽器,但這不是一個錯誤;它是設計tls 的特點它應該阻止中間人攻擊——這本質上就是你想要做的。
所以不,沒有任何方法可以實現您想要實現的目標。如果有的話,這將是一個重大的安全問題。
答案2
您不能既阻止用戶又向他們提供內容。
如果我想讓人們知道他們已被阻止,我可能會在反向代理/負載平衡器中設置一個訪問控制列表,並將具有被禁止IP 地址的客戶端定向到內部託管或內容交付網絡託管的靜態頁面。