1a346c32c1
deploy-pangolin / deploy (push) Has been cancelled
- edge: 容器化 nginx 接管 80/443,逐字移植现网 vhost(blog/jiu/marzban/pay)+ stream SNI 分流 - singbox: Hysteria2(host 网络,UDP 443) - certbot: DNS-01(Cloudflare)续期,容器化 - xray: REALITY 仅 profile newnode(本台沿用 Marzban) - deploy.sh 幂等且切换感知;cutover.sh 一次性停宿主 nginx 切容器(可秒级回滚) - 弃用方案A 的 host nginx-apply/sudoers/root-setup - 部署目录改 ~/pangolin(免 root);CI 注入 CF_API_TOKEN EC2 实测:edge nginx -t 通过(真实证书)、compose 校验通过 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 lines
1.2 KiB
Plaintext
38 lines
1.2 KiB
Plaintext
server {
|
|
server_name blog.51yanmei.com;
|
|
|
|
# Blog (Next.js + Payload CMS)
|
|
location / {
|
|
proxy_pass http://127.0.0.1:3000;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $http_cf_connecting_ip;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection 'upgrade';
|
|
proxy_cache_bypass $http_upgrade;
|
|
}
|
|
|
|
# Umami stats — proxied under /stats/
|
|
location /stats/ {
|
|
proxy_pass http://127.0.0.1:3001/;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $http_cf_connecting_ip;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
}
|
|
|
|
listen 127.0.0.1:8444 ssl;
|
|
ssl_certificate /etc/letsencrypt/live/blog.51yanmei.com/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/blog.51yanmei.com/privkey.pem;
|
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
ssl_ciphers HIGH:!aNULL:!MD5;
|
|
}
|
|
|
|
server {
|
|
listen 80;
|
|
server_name blog.51yanmei.com;
|
|
return 301 https://$host$request_uri;
|
|
}
|