From 12552281bf63559d4e07d13b5e5174036a410b2d Mon Sep 17 00:00:00 2001 From: aiyimickey <39365912+aiyimickey@users.noreply.github.com> Date: Tue, 14 Jul 2026 16:31:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E6=8F=90=E4=BA=A4=EF=BC=9Aas?= =?UTF-8?q?h=20=E6=9C=8D=E5=8A=A1=E5=99=A8=20nginx=20=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=EF=BC=88=E5=B7=B2=E4=BC=98=E5=8C=96=E7=89=88=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit nginx.conf: - worker_processes auto - worker_connections 4096 + multi_accept on - proxy_buffering 显式配置 - SSL session cache 10m token-tlyq.conf: - 启用 HTTP/2 (http2 on) - proxy_pass → host.docker.internal:3000 token-tuling.conf / letsencrypt.conf: 未修改 --- .gitignore | 14 ++++++++++++++ letsencrypt.conf | 13 +++++++++++++ nginx.conf | 42 ++++++++++++++++++++++++++++++++++++++++++ token-tlyq.conf | 16 ++++++++++++++++ token-tuling.conf | 15 +++++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 .gitignore create mode 100644 letsencrypt.conf create mode 100644 nginx.conf create mode 100644 token-tlyq.conf create mode 100644 token-tuling.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7dac15 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# 证书文件(不应提交到仓库) +certs/ +*.pem +*.key +*.crt + +# 临时文件 +*.swp +*.swo +*~ +.DS_Store + +# Docker 相关 +docker-compose.override.yml diff --git a/letsencrypt.conf b/letsencrypt.conf new file mode 100644 index 0000000..c24b1b7 --- /dev/null +++ b/letsencrypt.conf @@ -0,0 +1,13 @@ +server { + listen 80; + server_name token.tlyq.ai token.tulingyinqing.com; + + location /.well-known/acme-challenge/ { + root /var/www/html; + try_files $uri =404; + } + + location / { + return 301 https://$host$request_uri; + } +} diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..59bbc66 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,42 @@ +worker_processes auto; + +events { + worker_connections 4096; + multi_accept on; +} + +http { + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + client_max_body_size 16m; + + proxy_http_version 1.1; + 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_set_header Connection ""; + proxy_connect_timeout 3s; + proxy_send_timeout 30s; + proxy_read_timeout 30s; + + # 显式配置 proxy 缓冲(值等于 nginx 默认值,提升可维护性) + proxy_buffering on; + proxy_buffer_size 4k; + proxy_buffers 8 4k; + proxy_busy_buffers_size 8k; + + gzip on; + gzip_min_length 1k; + gzip_comp_level 5; + gzip_types text/plain text/css application/json application/javascript application/xml image/svg+xml; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; + ssl_prefer_server_ciphers on; + ssl_session_cache shared:SSL:10m; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/token-tlyq.conf b/token-tlyq.conf new file mode 100644 index 0000000..0cf1e76 --- /dev/null +++ b/token-tlyq.conf @@ -0,0 +1,16 @@ +server { + listen 443 ssl; + http2 on; + server_name token.tlyq.ai; + + ssl_certificate /etc/nginx/certs/tlyq.ai/fullchain.pem; + ssl_certificate_key /etc/nginx/certs/tlyq.ai/privkey.pem; + + location / { + proxy_pass http://host.docker.internal:3000; + 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; + } +} diff --git a/token-tuling.conf b/token-tuling.conf new file mode 100644 index 0000000..925045d --- /dev/null +++ b/token-tuling.conf @@ -0,0 +1,15 @@ +server { + listen 443 ssl; + server_name token.tulingyinqing.com; + + ssl_certificate /etc/nginx/certs/tulingyinqing.com/fullchain.pem; + ssl_certificate_key /etc/nginx/certs/tulingyinqing.com/privkey.pem; + + location / { + proxy_pass http://host.docker.internal:3000; + 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; + } +}