Linux
防火牆背後的網站:如何通過反向 SSH 隧道進行 HTTPS?
我在公寓的 NAT 防火牆後面的 Raspberry Pi 上託管了一個網站(Apache)。在 RasPi 和外部的雲伺服器之間建立反向 SSH 隧道,用於埠轉發。站點的域名指向雲伺服器的 IP 地址。此設置目前能夠處理 HTTP 連接,但我不確定如何使 HTTPS 工作。
目標:啟用某地與外部訪問者之間的 SSL/TLS 連接,以便他們在打開域名時可以看到綠色掛鎖。
F| I| +==========+ R| +=============+ | Ras Pi | E| | VPS | +--------------------+ | Apache |==[SSHTunnel]==| |<----: Inbound connection : | Site | W| | Domain Name | +--------------------+ +==========+ A| +=============+ L| L|
這種配置可行嗎?我應該在哪里安裝證書?
HTTPS 和 HTTP 使用不同的埠。這意味著您必須使用 SSH 創建單獨的埠轉發,一個用於 HTTP 和 HTTPS,例如
ssh -R80:127.0.0.1:80 -R443:127.0.0.1:443 user@vps
從那裡開始,它只是 Web 伺服器的正常設置。由於域的 HTTP 和 HTTPS 在公共 IP 上公開,因此也應該可以為其獲取域名(在 Raspi 之外)並獲取該域的證書,例如使用 Let’s Encrypt。只需按照有關如何執行此操作的常見說明進行操作。