我們使用 cookie 來幫助我們改善網頁體驗。請閱讀我們的 Cookie 政策

NAS 325

設定反向代理伺服器

設定反向代理網域來增加其他 NAS 及 Apps 的安全連線

2023-12-08

課程目的

完成此課程後您將能夠:

  1. 使用反向代理網域來保護多個 NAS 的安全連線。
  2. 使用反向代理網域來提升 Apps 的 HTTPS 連線安全性。

必修項目

課程必修項目:
NAS 324:使用 HTTPS 進行更安全的 NAS 連線

學生須先具備以下知識:
HTTP/HTTPS


大綱

1. 反向代理簡介

2. 保護多個 NAS 的安全連線

2.1 新增代理網域

2.2 新增規則於已存在的代理網域

3. 提升 Apps 的 HTTPS 連線安全性

3.1 設定 Jellyfin 的 HTTPS 連線

3.2 設定 ownCloud 的 HTTPS 連線

3.3 設定 Syncthing 的 HTTPS 連線

3.4 設定 Nextcloud 的 HTTPS 連線

3.5 設定 Plex Web 的 HTTPS 連線

4. 管理代理網域及規則

4.1 編輯或移除代理網域

4.2 編輯或移除代理網域規則





1. 反向代理簡介

網頁瀏覽的安全性愈來愈嚴謹,使用者可以在 ASUSTOR NAS 上架設多種伺服器或是安裝各式各樣的 Apps,大部分 Apps 都經由網頁瀏覽器開啟,因此 HTTPS 的安全連線就愈受重視。
反向代理伺服器有助於代理客戶端來提供網頁資料並保護資料傳輸的安全性。使用者可以在已申請合法 HTTPS 憑證及網域名稱的 NAS 上,經由反向代理伺服器的設定,保護外部網路透過 HTTPS 連接該網域名稱時所傳輸的資料。
後續章節介紹的反向代理伺服器使用範例,皆以使用反向代理伺服器實現 HTTPS 安全連線為前提,請在需啟用反向代理伺服器的 NAS 上設定網域名稱及申請合法憑證,設定方式請參閱:
NAS 324:使用 HTTPS 進行更安全的 NAS 連線



2. 保護多個 NAS 的安全連線

當您於同一個區域網路中設定多台 NAS,並希望可以從外部網路使用 HTTPS 安全連線至 NAS 開啟 ADM,使用其中一台 NAS 的反向代理伺服器,可以保護其他 NAS 的安全連線,不需將所有 NAS 都開放外網連接且申請不同的網域名稱。



2.1 新增代理網域

要使用此 NAS 的合法網域以 HTTPS 登入其他 NAS 的 ADM,需先新增一個代理網域。


步驟 1

  • 使用網頁瀏覽器並以管理者帳號登入 ADM。
  • 在 ADM 畫面右上角選擇 [控制台]。
  • 點選 [反向代理]。


步驟 2

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增代理網域] 後,點選 [下一步]。



步驟 3

  • 輸入 [名稱] 便於辨識此代理網域,例如:ASUSTOR NAS ADM。
  • 選擇 [HTTPS] 及伺服器名稱 [ yourddns.myasustor.com ]。
  • 輸入還未被註冊使用的通訊埠,例如:8880。
  • 選擇允許連線的網路介面,直接使用 [*] 即可。
  • 輸入此代理網域規則的路徑,例如:/as6602t,開啟 [輕鬆連線之通訊埠轉發] 後,點選 [下一步]。
    註:若此代理網域只有一個規則,路徑可以只保留 “/”,若需新增其他規則,可以再使用編輯來為第一個規則新增路徑。


步驟 4

  • 輸入 [名稱] 便於辨識被代理的網域規則,例如:AS6602T。
  • 選擇 [HTTP] 並輸入被代理網域的 LAN IP,例如:[ 172.16.xxx.xxx ]。
  • 輸入被代理網域的通訊埠,例如:8000 (ADM HTTP 登入的通訊埠)。
  • 輸入被代理網域原本的特定路徑,登入 ADM 不需特定路徑,保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 5

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 6

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:8880/as6602t/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xxx.xxx:8000/ ] 的資料。
  • 使用者就可以從外部網路使用此代理網域的 HTTPS 網址來連線到另一台 NAS 並登入 ADM。使用者可以用同一個網域名 [ yourddns.myasustor.com ] 來登入原本的 NAS,或加入設定的通訊埠及路徑來登入其他 NAS,而此 HTTPS 連線因為有合法憑證,將被網頁瀏覽器認定為合法的安全連線。

註:使用反向代理伺服器以 HTTPS 開啟不同 NAS 的 ADM 頁面,登入後,需要其他特定通迅埠的服務及 Apps,需另外設定反向代理的通訊埠,才能正確從此代理網域啟用該服務及 Apps。


從 Chrome 開啟:


從 Firefox 開啟:



2.2 新增規則於已存在的代理網域

使用者可以在已存在的代理網域中,新增其他規則,使用不同的路徑來開啟另一個服務。此章節範例為於上一章節新增的網域中,新增規則來登入另一台 NAS 的 ADM。


步驟 1

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增規則於已存在的代理網域中] 後,點選 [下一步]。



步驟 2

  • 選擇要新增規則的代理網域,例如:[ https://yourddns.myasustor.com:8880 ]。
  • 輸入此新增規則的路徑,例如:/as5304t,點選 [下一步]。

註:於存在的代理網域中新增規則,代理網域的域名及通訊埠在此過程中無法修改,只需輸入不同的路徑。


步驟 3

  • 輸入 [名稱] 便於辨識被代理的網域規則,例如:AS5304T。
  • 選擇 [HTTP] 並輸入被代理網域的 LAN IP,例如:[ 172.16.xx.xx ]。
  • 輸入被代理網域的通訊埠,例如:8000 (ADM HTTP 登入的通訊埠)。
  • 輸入被代理網域原本的特定路徑,登入 ADM 不需特定路徑,保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 4

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 5

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:8880/as5304t/ ] ,反向代理伺服器將會代理傳輸 [ http://172.16.xx.xx:8000/ ] 的資料。
  • 使用者就可以從外部網路使用此代理網域的 HTTPS 網址來連線到另一台新增的 NAS 並登入 ADM。

從 Chrome 開啟:


從 Firefox 開啟:




3. 提升 Apps 的 HTTPS 連線安全性

原本於 NAS 中無法使用 HTTPS 連線的 Apps,藉由反向代理伺服器,可以啟用遠端 HTTPS 安全連線。此章節將介紹幾個需要特定通訊埠開啟且無法直接使用 NAS 上合法憑證的 Apps,如何使用反向代理伺服器來實現 HTTPS 的安全連線。


3.1 設定 Jellyfin 的 HTTPS 連線

Jellyfin 的 Docker 版本無法直接使用 NAS 已申請的 HTTPS 合法憑證,需設定反向代理伺服器,才能支援 HTTPS 遠端連線,當 NAS 已申請 HTTPS 合法憑證後,現在可以使用反向代理伺服器來設定 Jellyfin 的 HTTPS 安全連線。


步驟 1

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增代理網域] 後,點選 [下一步]。



步驟 2

  • 輸入 [名稱] 便於辨識此代理網域,例如:Jellyfin HTTPS。
  • 選擇 [HTTPS] 及伺服器名稱 [ yourddns.myasustor.com ]。
  • 輸入還未被註冊使用的通訊埠,需與原本 Jellyfin 的通訊埠不同,例如:8196。
  • 選擇允許連線的網路介面,直接使用 [*] 即可。
  • 輸入此代理網域規則的路徑,或直接保留 “/”,開啟 [輕鬆連線之通訊埠轉發] 後,點選 [下一步]。


步驟 3

  • 輸入 [名稱] 便於辨識被代理的網域規則,可以保留空白。
  • 選擇 [HTTP],並輸入此 NAS 的 LAN IP,例如:[ 172.16.xx.xxx ]。
  • 輸入被代理網域的 App 通訊埠,例如:8096 (Jellyfin HTTP 通訊埠)。
  • 輸入被代理網域的 App 特定的路徑,Jellyfin 則保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 4

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 5

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:8196/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xx.xxx:8096/ ] (Jellyfin 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Jellyfin 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:



3.2 設定 ownCloud 的 HTTPS 連線

ownCloud 的 Docker 版本無法使用 NAS 預設的 Web 伺服器,需設定反向代理伺服器,才能支援 HTTPS 遠端連線,當 NAS 已申請 HTTPS 合法憑證後,現在可以使用反向代理伺服器來設定 ownCloud 的 HTTPS 安全連線。


步驟 1

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增代理網域] 後,點選 [下一步]。



步驟 2

  • 輸入 [名稱] 便於辨識此代理網域,例如:ownCloud HTTPS。
  • 選擇 [HTTPS] 及伺服器名稱 [ yourddns.myasustor.com ]。
  • 輸入還未被註冊使用的通訊埠,需與原本 ownCloud 的通訊埠不同,例如:32882。
  • 選擇允許連線的網路介面,直接使用 [*] 即可。
  • 輸入此代理網域規則的路徑,或直接保留 “/”,開啟 [輕鬆連線之通訊埠轉發] 後,點選 [下一步]。


步驟 3

  • 輸入 [名稱] 便於辨識被代理的網域規則,可以保留空白。
  • 選擇 [HTTP],並輸入此 NAS 的 LAN IP,例如:[ 172.16.xx.xxx ]。
  • 輸入被代理網域的 App 通訊埠,例如:32880 (ownCloud HTTP 通訊埠)。
  • 輸入被代理網域的 App 特定的路徑,ownCloud 則保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 4

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 5

ownCloud 對於其存取的網域有嚴格限制,因此為 ownCloud 設定反向代理伺服器時,需將此網域加入到 ownCloud 的 "trusted_domains" 設定中,才能正常使用。

  • 下載 /share/Docker/ownCloud/data/config/config.php 至電腦上,將 config.php 更名為 "zz-user.config.php" 後,開啟文字編輯器編輯。
  • 於 zz-user.config.php 內容中只保留 'trusted_domains' 的設定,並加入 NAS 的反向代理伺服器網域,[ 1 => 'yourddns.myasustor.com', ] 後存檔。

  • 將編輯過的 zz-user.config.php 上傳至 NAS 資料夾 [ /share/Docker/ownCloud/data/config/ ]。


步驟 6

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:32882/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xx.xxx:32880/ ] (ownCloud 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 ownCloud 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:



3.3 設定 Syncthing 的 HTTPS 連線

Syncthing 的 Docker 版本無法直接使用 NAS 已申請的 HTTPS 合法憑證,需設定反向代理伺服器,才能支援 HTTPS 遠端連線,當 NAS 已申請 HTTPS 合法憑證後,現在可以使用反向代理伺服器來設定 Syncthing 的 HTTPS 安全連線。

註:此範例使用已存在的代理網域來新增規則,不需再額外設定一個通訊埠。使用者亦可選擇用 [新增代理網域] 的方式,新增另一個通訊埠來為 Syncthing 設定反向代理。


步驟 1

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增規則於已存在的代理網域中] 後,點選 [下一步]。



步驟 2

  • 選擇要新增規則的代理網域,例如:[ https://yourddns.myasustor.com:18862 ]。
  • 輸入此新增規則的路徑,例如:/syncthing,點選 [下一步]。

註:於存在的代理網域中新增規則,代理網域的域名及通訊埠在此過程中無法修改,只需輸入不同的路徑。


步驟 3

  • 輸入 [名稱] 便於辨識被代理的網域規則,例如:Syncthing。
  • 選擇 [HTTP],並輸入此 NAS 的 LAN IP,例如:[ 172.16.xx.xxx ]。
  • 輸入被代理網域的 App 通訊埠,例如:28384 (Syncthing HTTP 通訊埠)。
  • 輸入被代理網域的 App 特定的路徑,Syncthing 則保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 4

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 5

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:18862/syncthing/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xx.xxx:28384/ ] (Syncthing 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Syncthing 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:



3.4 設定 Nextcloud 的 HTTPS 連線

ADM 4.1 已為 Nextcloud 新增預設的反向代理伺服器,若你的 NAS 是 ADM 4.1 或更高的版本,已無需自行設定。
目前預設的反向代理伺服器無法開放讓使用者新增其他規則。


  • 在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:8622/nextcloud-docker/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xx.xxx:32680/ ] (Nextcloud 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Nextcloud 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:




Nextcloud 的 Docker 版本無法使用 NAS 預設的 Web 伺服器,需設定反向代理伺服器,才能支援 HTTPS 遠端連線,當 NAS 已申請 HTTPS 合法憑證後,現在可以使用反向代理伺服器來設定 Nextcloud 的 HTTPS 安全連線。


步驟 1

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增代理網域] 後,點選 [下一步]。



步驟 2

  • 輸入 [名稱] 便於辨識此代理網域,例如:Nextcloud HTTPS。
  • 選擇 [HTTPS] 及伺服器名稱 [ yourddns.myasustor.com ]。
  • 輸入還未被註冊使用的通訊埠,需與原本 Nextcloud 的通訊埠不同,例如:32681。
  • 選擇允許連線的網路介面,直接使用 [*] 即可。
  • 輸入此代理網域規則的路徑,或直接保留 “/”,開啟 [輕鬆連線之通訊埠轉發] 後,點選 [下一步]。


步驟 3

  • 輸入 [名稱] 便於辨識被代理的網域規則,可以保留空白。
  • 選擇 [HTTP],並輸入此 NAS 的 LAN IP,例如:[ 172.16.xx.xxx ]。
  • 輸入被代理網域的 App 通訊埠,例如:32680 (Nextcloud HTTP 通訊埠)。
  • 輸入被代理網域的 App 特定的路徑,Nextcloud 則保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 4

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 5

Nextcloud 對於其存取的網域有嚴格限制,因此 Nextcloud 文件中說明,設定反向代理伺服器時,需於 Nextcloud 的 config.php 加入相關設定值,才能正常使用。詳情可參閱 Nextcloud 文件

  • 下載 /volume1/Docker/Nextcloud/config/config.php 至電腦上,並開啟文字編輯器編輯。
  • 於 config.php 內容下方加上 [ 'overwritehost' => 'yourddns.myasustor.com:32681', ] 及 [ 'overwriteprotocol' => 'https', ] 後存檔。
  • 將編輯過的 config.php 上傳至 NAS 資料夾 [ /volume1/Docker/Nextcloud/config ] 覆蓋原始檔案。


步驟 6

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:32681/ ],反向代理伺服器將會代理傳輸 [ http://172.16.xx.xxx:32680/ ] (Nextcloud 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Nextcloud 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:



3.5 設定 Plex Web 的 HTTPS 連線

ADM 4.1 已為 Plex Media Server 新增預設的反向代理伺服器,若你的 NAS 是 ADM 4.1 或更高的版本,已無需自行設定。
目前預設的反向代理伺服器無法開放讓使用者新增其他規則。


  • 在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:8622/plexmediaserver/ ],反向代理伺服器將會代理傳輸 [ https://172.16.xx.xxx:32400/ ] (Plex Media Server 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Plex Media Server 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:




安裝於 NAS 上的 Plex Media Server,可直接使用網頁瀏覽器開啟 Plex Web 來管理媒體庫及播放影音檔案。Plex Web 綁定的 HTTPS 憑證只能允許使用 [ https://NAS LAN IP:32400 ] 開啟 Plex Media Server,現在可以使用反向代理伺服器以 HTTPS 連線使用 NAS 的網域名稱來開啟 Plex Media Server。

設定反向代理網域前,需先以 [ https://NAS LAN IP:32400 ] 開啟 Plex Media Server 並登入 Plex 帳號。關於 Plex Media Server 的安裝及媒體庫設定,請參閱:
NAS 235 - Plex Media Server 基本功能介紹


步驟 1

  • 在 ADM 桌面,點選 [Plex Media Server]。
  • 在瀏覽器的網址列,將 Plex Web 的網頁協定改成 HTTPS,例如:[ https://172.16.xx.xxx:32400 ]。
  • 登入您註冊的 Plex 帳號,並允許此 IP 的 HTTPS 連線登入。
  • 確認 Plex Web 可顯示媒體庫及播放影音檔案。

步驟 2

  • 於 [反向代理] 頁面點選 [新增]。
  • 選擇 [新增代理網域] 後,點選 [下一步]。



步驟 3

  • 輸入 [名稱] 便於辨識此代理網域,例如:Plex HTTPS。
  • 選擇 [HTTPS] 及伺服器名稱 [ yourddns.myasustor.com ]。
  • 輸入還未被註冊使用的通訊埠,需與原本 Plex 的通訊埠不同,例如:32411。
  • 選擇允許連線的網路介面,直接使用 [*] 即可。
  • 輸入此代理網域規則的路徑,或直接保留 “/”,開啟 [輕鬆連線之通訊埠轉發] 後,點選 [下一步]。


步驟 4

  • 輸入 [名稱] 便於辨識被代理的網域規則,可以保留空白。
  • 選擇 [HTTPS],並輸入此 NAS 的 LAN IP,例如:[ 172.16.xx.xxx ]。
  • 輸入被代理網域的 App 通訊埠,例如:32400 (Plex HTTP/HTTPS 通訊埠)。
  • 輸入被代理網域的 App 特定的路徑,Plex 則保留 “/” 即可。
  • 點擊 [連線測試],測試上述被代理網域的資訊是否可以成功連線且其 URL 是否需要重新定向。然後,點選 [下一步]。


步驟 5

  • 最後確認所設定的資訊是否正確,點選 [完成]。


  • 設定完成後即可在反向代理頁面看到代理網域的資訊。


步驟 6

  • 以此設定的代理網域為例,在網頁瀏覽器上輸入 [ https://yourddns.myasustor.com:32411/ ],反向代理伺服器將會代理傳輸 [ https://172.16.xx.xxx:32400/ ] (Plex Media Server 本機開啟的 URL) 資料。
  • 使用者就可以透過 HTTPS 從外部網路使用此代理網域網址來連線到此 NAS 所安裝的 Plex Media Server 並登入使用。

從 Chrome 開啟:


從 Firefox 開啟:




4. 管理代理網域及規則


4.1 編輯或移除代理網域

  • 於 [反向代理] 頁面,選擇一個代理網域後,點選 [編輯] 可以編輯反向代理網域的名稱、網路協定、伺服器名稱及通訊埠,編輯代理網域後,此網域中的規則將全部跟著修改。
  • 點選 [移除] 則會刪除代理網域及此網域中的所有規則。




4.2 編輯或移除代理網域規則

  • 於 [反向代理] 頁面,點選一個代理網域後,展開代理網域的規則。選擇一個規則後,點選 [編輯] 可以在代理網域頁面編輯反向代理網域的網路協定、伺服器名稱及通訊埠,在規則頁面可以編輯規則的名稱、網路協定、主機名稱、通訊埠及路徑,或在此頁面啟用或停用此代理網域規則。
  • 點選 [移除] 則會刪除此代理網域規則,刪除最後一筆規則將會移除其代理網域。


  • 若需暫時停用反向代理連線,可以在編輯規則的頁面停用反向代理網域規則,而不需將此規則移除。


這篇文章有幫助嗎? /