映射后台接口
server {
listen 80;
listen 443 ssl;
server_name 域名/ip;
# 强制 HTTPS
if ($server_port !~ 443) {
rewrite ^(/.*)$ https://$host$1 permanent;
}
client_max_body_size 100m;
# SSL证书
ssl_certificate /etc/letsencrypt/live/xxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# =============== GZIP 开启(关键!)===============
gzip on; # 开启 Gzip
gzip_vary on; # 告诉 CDN/代理,内容因编码而异
gzip_min_length 1024; # 小于 1KB 不压缩(避免小文件负优化)
gzip_types
text/plain
text/css
application/json
application/javascript
text/xml
application/xml
application/xml+rss
image/svg+xml
text/javascript; # 指定要压缩的 MIME 类型
gzip_comp_level 6; # 压缩级别(1~9),6 是速度与压缩比平衡点
gzip_buffers 16 8k; # 设置压缩缓冲区
gzip_http_version 1.1; # 只对 HTTP/1.1 及以上启用
gzip_proxied no-cache no-store private expired auth; # 防止代理私有接口时出问题
# ==================================================
location / {
proxy_pass http://127.0.0.1:5001; # 映射接口地址:端口
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_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}映射vue项目
server {
listen 80;
listen 443 ssl;
server_name 域名/ip;
# HTTP 重定向到 HTTPS
if ($server_port !~ 443) {
return 301 https://$host$request_uri;
}
client_max_body_size 100m;
# SSL证书
ssl_certificate /etc/letsencrypt/live/xxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
root /var/www/xxx/dist; # 不要在root下 不然会没有权限
# 访问页面500 排查 tail -f /var/log/nginx/error.log
index index.html;
# =============== GZIP 开启(关键!)===============
gzip on; # 开启 Gzip
gzip_vary on; # 告诉 CDN/代理,内容因编码而异
gzip_min_length 1024; # 小于 1KB 不压缩(避免小文件负优化)
gzip_types
text/plain
text/css
application/json
application/javascript
text/xml
application/xml
application/xml+rss
image/svg+xml
text/javascript; # 指定要压缩的 MIME 类型
gzip_comp_level 6; # 压缩级别(1~9),6 是速度与压缩比平衡点
gzip_buffers 16 8k; # 设置压缩缓冲区
gzip_http_version 1.1; # 只对 HTTP/1.1 及以上启用
gzip_proxied no-cache no-store private expired auth; # 防止代理私有接口时出问题
# ==================================================
# =============== SPA 路由支持(Vue Router history 模式)===
location / {
# 尝试访问路径,如果不存在则返回 index.html,支持前端路由刷新
try_files $uri $uri/ /index.html;
}
# =======================================================
# =============== 静态资源缓存(关键优化)===============
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
}
# =======================================================
# 防止访问敏感文件
location ~ /\.(env|git|htaccess|htpasswd|config) {
deny all;
}
}映射lobeGPT
server {
listen 80;
listen 443 ssl;
server_name 域名/ip;
# 重定向 HTTP 请求到 HTTPS
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
client_max_body_size 100m;
ssl_certificate /etc/letsencrypt/live/xxx/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xxx/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# =============== GZIP 开启(关键!)===============
gzip on; # 开启 Gzip
gzip_vary on; # 告诉 CDN/代理,内容因编码而异
gzip_min_length 1024; # 小于 1KB 不压缩(避免小文件负优化)
gzip_types
text/plain
text/css
application/json
application/javascript
text/xml
application/xml
application/xml+rss
image/svg+xml
text/javascript; # 指定要压缩的 MIME 类型
gzip_comp_level 6; # 压缩级别(1~9),6 是速度与压缩比平衡点
gzip_buffers 16 8k; # 设置压缩缓冲区
gzip_http_version 1.1; # 只对 HTTP/1.1 及以上启用
gzip_proxied no-cache no-store private expired auth; # 防止代理私有接口时出问题
# ==================================================
location / {
# 常规代理头部
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
# 映射到后端服务端口
proxy_pass http://127.0.0.1:3210;
# 可选:调整超时时间以适应长时间连接
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# Disable buffering to enable streaming
proxy_buffering off;
proxy_cache off;
proxy_set_header X-Accel-Buffering no;
}
}作者:admin 创建时间:2025-10-20 16:21
最后编辑:admin 更新时间:2025-11-12 09:10
最后编辑:admin 更新时间:2025-11-12 09:10