OrangeTV/nginx.conf.example

73 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Nginx配置示例用于生产环境反向代理
# 将此文件放置在 /etc/nginx/sites-available/ 并创建符号链接到 sites-enabled/
upstream nextjs_app {
server localhost:3000;
}
upstream websocket_app {
server localhost:3001;
}
server {
listen 80;
server_name your-domain.com;
# 如果使用HTTPS取消下面的注释并配置SSL证书
# listen 443 ssl;
# ssl_certificate /path/to/ssl/cert.pem;
# ssl_certificate_key /path/to/ssl/key.pem;
# 增加请求体大小限制
client_max_body_size 100M;
# Next.js应用的主要路由
location / {
proxy_pass http://nextjs_app;
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;
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;
}
# WebSocket专用路由
location /ws-api {
proxy_pass http://websocket_app;
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;
# WebSocket特定的超时设置
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
}
# 静态资源缓存
location /_next/static {
proxy_pass http://nextjs_app;
proxy_cache_valid 60m;
add_header Cache-Control "public, immutable";
}
location /public {
proxy_pass http://nextjs_app;
proxy_cache_valid 60m;
add_header Cache-Control "public, max-age=3600";
}
}