Nginx可以通过反向代理实现端口转发功能,将来自一个端口的请求转发到另一个端口或服务器。以下是几种常见的端口转发配置方法:
server {
listen 80; # 监听80端口
server_name example.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;
}
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://192.168.1.100:8080; # 转发到另一台服务器的8080端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name example.com;
location /app1/ {
proxy_pass http://localhost:3000/; # 转发到3000端口
}
location /app2/ {
proxy_pass http://localhost:4000/; # 转发到4000端口
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
stream {
server {
listen 3306; # 监听3306端口
proxy_pass db_server:3306; # 转发到数据库服务器的3306端口
}
}
检查配置文件语法:
nginx -t
重新加载Nginx配置:
nginx -s reload
proxy_set_header
传递原始请求头信息proxy_buffer_size
等参数需要更具体的配置帮助,可以提供您的具体需求场景。