作者:小呀麼小甌北
簡介
SWAG專案:linuxserver/docker-swag
unraid上目前主流的兩種反代方式就是用SWAG和Nginx proxy manager(以下簡稱NPM)這兩個docker實現。
NPM其他基礎教程很多了,這裡就不詳述了。優點就是視覺化UI,配置無腦,但是需要另外再安裝一個fail2ban或者在路由前端增加防火牆策略。
一開始我也是使用NPM很長一段時間的,試用過SWAG後,一下路轉粉。
SWAG其實不難配置,linuxserver已經內建了很多很多常用的配置,大部分的其他需要反代的程式,只要簡單去掉字尾,如果你連預設埠都沒改,只要重啟一下SWAG就可以馬上生效,可以說非常無腦方便的了。跟NPM一樣,也可以自動生成免費SSL伺服器證書並補籤
並且,SWAG是
內建了fail2ban ,
NPM作者是明確了不會在NPM中新增fail2ban。
fail2ban簡單說就是一款輕量高效的防火牆,具體自行百度瞭解。
大媽上之前有大佬詳述SWAG的文章
https://post。smzdm。com/p/akxzqzzk/
我這裡主要具體說說我的實現和一些踩坑點,整合了一下,自己留個記憶
正文
本文只講述基於aliyun的配置
1。修改Docker
設定-docker 停用docker後,點開高階檢視,啟用-
保留使用者定義網路
-選項,儲存後,重新開啟docker
開啟終端,輸入:
docker network create
dockernetwork
‘dockernetwork’可以是你任意喜歡的名字
2。Docker安裝SWAG
apps自行搜尋SWAG
docker配置選項重點說明:
網路型別:修改成剛才修改的 ‘
dockernetwork
’ - 在這之後和之前建立的docker,以後都修改成這個網路下,後面修改反代會非常便利
80,443埠:修改成自己喜歡的埠號 - 路由的埠對映以後只用對映這兩個埠,其他全都可以關了,更加安全
URL : 填入你的阿里雲註冊的
一級域名或者二級域名
,如 abc。xyz , abc。efg。xyz
VALIDATION :
dns
- 因為本篇是基於aliyun配置
SUBDOMAINS :
wildcard
- 泛域名解析,後期新增其他反代,只需要在阿里雲新增CNAME項就可以了
DNSPLUGIN :
aliyun
ONLY_SUBDOMAINS :
false
- 因為主要用泛域名的方式,所以選擇false
其他預設項,應用安裝。
3。反代配置流程
域名配置
在aliyun的域名解析裡,首先自行配置好
A型別
的泛域名(*。abc。xyz)的自動解析
再自行新增如 : nas。abc。xyz , jellyfin。abc。xyz , qbittorrent。abc。xyz 等
CNAME型別
的解析
unraid配置
A.先講通用配置
開啟unraid的資料夾,
/mnt/user/appdata/swag/nginx/proxy-confs
剛開啟來的時候,該資料夾下的檔案命名方式都是如 adminer。subfolder。conf。sample 這樣的
XXX。XXX。conf。sample 形式 , 把需要的配置。sample尾綴去掉
改成如
adminer.subfolder.conf
的檔案 , 記事本開啟檔案,修改
以下用jellyfin為例,重點引數詳解 :
劃重點了
server_name jellyfin。*; - 將
jellyfin
改成你自己aliyun的CNAME欄位
set $upstream_app jellyfin; -
jellyfin
就是你的docker名稱
set $upstream_port 8096; -
8096
jellyfin的docker所對應的http埠,8096就是安裝的時候的預設埠
所以如果你的docker較多需要建立並反代的話,
docker名稱
和
http埠
最好預設,並記得修改網路為上文所述的
dockernetwork ,
阿里雲上做好
CNAME
記錄 ,然後重啟SWAG ,外網就通了。
B.反代docker以外的東西,比如虛擬機器
通用配置也是修改上述的三個專案, 只需修改
set $upstream_app
後面為對應的區域網IP地址,如:192。168。1。XX
4。踩坑配置
下面講講我配到的踩坑配置,需要額外修改其他選項,方便自己留檔,節約大家時間!!!
filebrowser篇
補圖,萬一程式碼被吞了
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name files。*;
include /config/nginx/ssl。conf;
client_max_body_size 0;
location / {
proxy_pass http://192。168。50。249:8084/;
proxy_buffering off;
proxy_http_version 1。1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log off;
}
}
organizr篇
題外話 :
這個導航頁是絕對神器 ,沒玩過的強烈建議大家裝了試試,有空了,我再補一篇關於以這個互動端下,我的整個家庭HTPC自動觀影專案
具體功能有大神整理過
https://post。smzdm。com/p/amxkop7p/
另外如果喜歡輕量級的,也可以試試這個
muximux ,
功能沒有organizr強大,但是主要也勝在能夠
在單個頁面整合所有需要的書籤
organizr需要把
organizr。subdomain。conf , organizr-auth。subfolder。conf
這兩個都啟用
organizr.subdomain.conf
檔案新增以下
include /config/nginx/proxy-confs/organizr-auth.subfolder.conf;
organizr-auth.subfolder.conf
去掉下面這行 ‘#’ 號 註釋
auth_request /auth-0; #=Admin
80埠不要改 , 80埠不要改 , 80埠不要改
jellyseerr篇
複製overseerr配置修改相應引數即可
其他篇
評論區大家一起互助
5.總結反代流程
基礎設定完成以後,以後再有其他反代配置需要新增的時候
1。阿里雲新增對應
CNAME
2。修改
/mnt/user/appdata/swag/nginx/proxy-confs
檔案的內容
3。重啟SWAG
就是這麼簡單,而且遇到預設配置不行的時候,網上搜索niginx的通用配置放進去也能用,並且有fail2ban信仰加成 , 我僅僅花了1-2個小時就把NPM的反代搬到了SWAG上面
以上拋磚引玉,希望能幫助大家