為 Transmission 的 WebUI 提供 SSL 加密

前言

以往在家裡管理/抓取 torrent 是用 Transmission 搭配 WebUI,長久以來相安無事;
但最近常有機會在家裡以外的地方瀏覽 torrent,
於是有了採用 SSL 加密保護登入資訊的需求。

Transmission WebUI 原生沒有提供 HTTPS,
花了時間研究一下,發現若伺服器是自己管的且同時架有 apache 並開啟 SSL 模組,
則可利用 mod_proxy/mod_proxy_http 作為中介達到期望的效果。

本文以 FreeBSD 8 為例,詳述步驟如下…

作法

  1. 為 apache 加上 mod_proxy 及 mod_proxy_http 模組
  2. Linux 若有套件管理 (rpm/yum/apt-get) 則可直接由網路抓取並安裝 binary;
    FreeBSD 則須重新編譯 apache:

    cd /usr/ports/www/apache22
    make config

    選取 mod_proxy 及 mod_proxy_http 後重新建置、安裝,啟動新的 apache。

    make deinstall install
    /usr/local/etc/rc.d/apache22 restart
  3. 編輯 httpd.conf,在設定 proxy 前先載入相關模組:
  4. LoadModule proxy_module   libexec/apache22/mod_proxy.so
    LoadModule proxy_http_module   libexec/apache22/mod_proxy_http.so
  5. 編輯 httpd.conf,加入 Transmission WebUI 的對應設定:
  6. <IfModule proxy_module>
    <IfModule proxy_http_module>
        ProxyRequests Off
        <Proxy *>
            Order Allow,Deny
            Allow from all
        </Proxy>
        ProxyPass /transmission http://localhost:8080/transmission
        ProxyPassReverse /transmission http://localhost:8080/transmission
    </IfModule>
    </IfModule>

    連接埠的部分,記得改成自己的設定。

參考資料

  1. 這篇文章啟發自 transmission 官方論壇上有人提供 lighttpd 上的做法

Leave a Reply

Your email address will not be published.