追加修改(2022-07-15 23:26:58):
遗漏补充: 证书秘钥的位置 在 appdataswagdns-confaliyun.ini 自行修改
swag进阶篇
https://post.smzdm.com/p/a606o440/
简介
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上面
以上抛砖引玉,希望能帮助大家
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
原创文章,作者:夜风博客,如若转载,请注明出处:https://www.homedt.net/47473.html