Linux

防火牆背後的網站:如何通過反向 SSH 隧道進行 HTTPS?

  • January 27, 2021

我在公寓的 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。只需按照有關如何執行此操作的常見說明進行操作。

引用自:https://serverfault.com/questions/1050629