运维
反向代理
通过 Nginx 或 Caddy 为 3x-ui 面板和订阅提供 Let's Encrypt TLS 保护。
反向代理让你能够在一个简洁的域名上提供面板和订阅服务,并自动启用 HTTPS,同时将真实端口隐藏在 80/443 端口之后。更希望让面板直接终结 TLS?可以改用
x-ui SSL 菜单来获取证书。
生成配置
Reverse-proxy config generator
Generate an Nginx or Caddy reverse-proxy config (with WebSocket support) and a matching certificate command.
nginx server block
server {
listen 443 ssl http2;
server_name panel.example.com;
ssl_certificate /etc/letsencrypt/live/panel.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/panel.example.com/privkey.pem;
location /panel/ {
proxy_pass http://127.0.0.1:2053;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
}
}Obtain a certificate
certbot certonly --nginx -d panel.example.com面板使用 WebSocket 来实时更新,因此代理必须传递
Upgrade/Connection 头(上面的 Nginx 输出已经做到了这一点)。Caddy
会自动处理 WebSocket 升级。
Nginx + 证书
使用 Nginx 时,请通过 certbot(或 acme.sh)获取证书,并在 server 块中引用它:
certbot certonly --nginx -d panel.example.com安装证书后请重新加载 Nginx,并设置自动续期(certbot renew 默认通过定时器运行)。
Caddy
Caddy 会为你获取并续期证书——只需让 Caddyfile 指向面板,它便能正常工作:
panel.example.com {
reverse_proxy 127.0.0.1:2053
}
3x-ui