要将域名通过Nginx转发到指定端口,可以通过以下几种方式实现:
server {
listen 80;
server_name yourdomain.com; # 你的域名
location / {
proxy_pass http://localhost:8080; # 转发到本地的8080端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream backend {
server localhost:8080; # 后端服务地址和端口
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/your/cert.pem;
ssl_certificate_key /path/to/your/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
502 Bad Gateway错误:
proxy_connect_timeout
和proxy_read_timeout
值配置不生效:
nginx -t
nginx -s reload
性能优化:
proxy_buffering on;
proxy_buffer_size 4k;
proxy_buffers 8 16k;
proxy_busy_buffers_size 32k;
配置完成后,建议使用nginx -t
测试配置语法,然后systemctl reload nginx
重新加载配置。