SWAG(Secure Web Application Gateway,前身为letsencrypt,与Let's Encrypt™无关联)是一个安全Web应用网关,它设置了Nginx Web服务器和反向代理,支持PHP,并内置Certbot客户端,可自动完成免费SSL服务器证书的生成和更新过程(支持Let's Encrypt和ZeroSSL)。它还包含用于入侵防御的fail2ban。
URL为yoursubdomain.duckdns.org,SUBDOMAINS可以是www,ftp,cloud(用于HTTP验证)或wildcard(用于DNS验证)。您可以使用我们的duckdns镜像来更新duckdns.org上的IP。http验证,路由器互联网侧的端口80应转发到此容器的端口80dns验证,请确保将您的凭据输入到/config/dns-conf下相应的ini文件(或某些插件的json文件)中
yoursubdomain.duckdns.org,将SUBDOMAINS变量留空)*.yoursubdomain.duckdns.org,将SUBDOMAINS变量设置为wildcard)--cap-add=NET_ADMIN是fail2ban修改iptables所必需的[***]访问默认主页(默认情况下禁用通过端口80的http访问,您可以通过编辑/config/nginx/site-confs/default.conf中的默认站点配置来启用它)。/config/log/letsencrypt下的日志,了解续订失败的原因。建议在docker参数中输入您的电子邮件,以便在这种情况下收到Let's Encrypt的过期通知。SWAG默认包含许多Certbot插件,但并非所有插件都能包含。 如果您需要未包含的插件,最快的获取方法是使用我们的Universal Package Install Docker Mod。
在容器上设置以下环境变量:
yamldocker run -d \ --name=swag \ --cap-add=NET_ADMIN \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e URL=example.com \ -e VALIDATION=http \ -e SUBDOMAINS=www, `#可选` \ -e CERTPROVIDER= `#可选` \ -e DNSPLUGIN=cloudflare `#可选` \ -e PROPAGATION= `#可选` \ -e EMAIL= `#可选` \ -e ONLY_SUBDOMAINS=false `#可选` \ -e EXTRA_DOMAINS= `#可选` \ -e STAGING=false `#可选` \ -e DISABLE_F2B= `#可选` \ -e SWAG_AUTORELOAD= `#可选` \ -e SWAG_AUTORELOAD_WATCHLIST= `#可选` \ -p 443:443 \ -p 80:80 `#可选` \ -p 443:443/udp `#可选` \ -v /path/to/swag/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/swag:latest
在/config/dns-conf/<plugin>.ini中设置所需的凭据(通常可在插件文档中找到)。
建议先使用STAGING=true获取证书,以确保插件正常工作。
dhparams.pem提供。docker exec -it swag htpasswd -c /config/nginx/.htpasswd <username>.htpasswd添加多个用户:密码。对于第一个用户,使用上述命令,对于其他用户,使用不带-c标志的上述命令,因为-c会强制删除现有.htpasswd并创建新文件/config/nginx/site-confs/default.conf。您可以随意修改此文件,也可以向此目录添加其他conf文件。但是,如果删除default文件,容器启动时将创建一个新的默认文件。/config/nginx/proxy_confs下的README.md文件。预设的conf文件位于并从此仓库导入。add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
这将"请求"Google等不要索引和列出您的站点。使用此选项时要小心,因为如果您在希望出现在搜索引擎上的站点上保留此行,最终会被除名-v /path-to-swag-config:/swag-ssl),在其他容器中,使用证书位置/swag-ssl/keys/letsencrypt//config下的SWAG文件夹etc(即-v /path-to-swag-config/etc:/swag-ssl),在其他容器中,使用证书位置/swag-ssl/letsencrypt/live/<your.domain.url>/(这更安全,因为第一种方法与其他容器共享整个SWAG配置文件夹,包括www文件,而第二种方法只共享ssl证书)cert.pem、chain.pem、fullchain.pem和privkey.pem,由Certbot生成,供nginx和各种其他应用使用privkey.pfx,一种Microsoft支持的格式,通常由dotnet应用(如Emby Server)使用(无密码)priv-full***bundle.pem,捆绑私钥和fullchain的pem证书,供ZNC等应用使用/config/fail2ban/jail.local.conf文件,而是创建同名的.local文件并编辑这些文件,因为.conf文件在操作和过滤器更新时会被覆盖。.local文件将附加.conf文件中的内容(即nginx-http-auth.conf --> nginx-http-auth.local)docker exec -it swag fail2ban-client status检查哪些jail处于活动状态docker exec -it swag fail2ban-client status <jail name>检查特定jail的状态docker exec -it swag fail2ban-client set <jail name> unbanip <IP>解除IP禁令此镜像支持QUIC(也称为HTTP/3),但必须在每个代理conf和默认conf中显式启用,因为如果启用了监听器但不暴露443/UDP,可能会中断某些浏览器的连接。
要启用QUIC,请将443/UDP暴露给您的客户端,然后取消注释所有活动代理conf以及默认conf中的QUIC监听器,并重启容器。
您还应该取消注释ssl.conf中的Alt-Svc头,以便浏览器知道您提供QUIC连接。
建议增加主机上的UDP发送/接收缓冲区,方法是设置net.core.rmem_max和net.core.wmem_max sysctl。建议值为4-16Mb(4194304-***字节)。要在重启之间保持持久性,请使用/etc/sysctl.d/。
linuxserver/letsencrypt镜像迁移请按照此博客文章上的说明进行操作。
bashdocker run -d \ --name=swag \ --cap-add=NET_ADMIN \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e URL=example.com \ -e VALIDATION=http \ -e SUBDOMAINS=www, `#可选` \ -e CERTPROVIDER= `#可选` \ -e DNSPLUGIN=cloudflare `#可选` \ -e PROPAGATION= `#可选` \ -e EMAIL= `#可选` \ -e ONLY_SUBDOMAINS=false `#可选` \ -e EXTRA_DOMAINS= `#可选` \ -e STAGING=false `#可选` \ -e DISABLE_F2B= `#可选` \ -e SWAG_AUTORELOAD= `#可选` \ -e SWAG_AUTORELOAD_WATCHLIST= `#可选` \ -p 443:443 \ -p 80:80 `#可选` \ -p 443:443/udp `#可选` \ -v /path/to/swag/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/swag:latest
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429