外网访问内网容器服务的前提是需要有固定的公网IPv4地址或者公网IPv6地址或者设置好DDNS
[postsbox post_id="3084"]
创建反向代理
方案1. 使用 Docker Mod “Auto Proxy”
- 打开要添加反向代理的Docker应用程序,点击编辑。
- 向下滚动到底部并单击“添加另一个路径、端口、变量、标签或设备” 。
- 从下拉列表中选择“标签”并按照下图填写字段:
- 单击“添加”,然后将点击“应用”,容器会自动重启。
自动代理的容器名称需设置为镜像说明中建议的名称,比如 radarr 而不是 Radarr-4K
也可以设置其他标签来覆盖默认值。
swag=enable
- 设置自动反代swag_address=containername
- 可选 - 覆盖反代的容器名称。可以设置为 IP 或 DNS 主机名。 默认为容器名称.swag_port=80
-可选- 覆盖容器内端口号swag_proto=http
- 可选 - 覆盖容器内协议(默认为:http )swag_url=containername.domain.com
- 可选 - 覆盖访问域名 (默认为:containername.*
)swag_auth=authelia
- 可选 - 开启验证模块 (可设置为authelia
,ldap
或http
以启用基本身份验证)swag_auth_bypass=/api,/othersubfolder
- 可选 -绕过选定子文件夹的身份验证. 逗号分隔,无空格。
方案2. 编辑预配置的 Nginx 模板手动配置代理
- swag内置了常用应用的反代模板,可以通过修改模版达到反代的目的
- 比如我们要反代adminer这个应用,只需要将
adminer.subdomain.conf.sample
改为adminer.subdomain.conf
- 可以用命令行修改
/mnt/user/appdata/为unraid默认数据存放目录,如果修改过该目录,需替换为你修改后的路径
mv /mnt/user/appdata/swag/nginx/proxy-confs/adminer.subdomain.conf.sample /mnt/user/appdata/swag/nginx/proxy-confs/adminer.subdomain.conf
- 当然,也可以用你自己熟悉的编辑软件修改。比如code-server
关于code-server安装可以移步这篇文章
[postsbox post_id="2982"]
- 如果配置了自动加载模块,此时adminer容器已经成功反代
- 如果没有配置自动加载模块,重启下swag
- https://adminer.yourdomain.com 已经可以成功访问
特殊情况
如果需要反代的容器服务和swag不在同一个桥接网络内。比如处于bridge桥接网络模式或者host网络模式,或者其他外网环境。可以将 set $upstream_app 容器名称;
改为 set $upstream_app IP地址;
例如将 adminer 配置文件底部的 set $upstream_app adminer;
改为 set $upstream_app 192.168.1.123;
192.168.1.123 为 adminer 的内网IP地址。
安装swag及相关模块请移步下面的文章
[postsbox post_id="2933"]
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。