nginx配置:
server {
listen 8887;
server_name localhost;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/;
}
location /server2 {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:7080/server2/;
}
}
该段配置想实现的效果为:
访问http://localhost:8887的时候跳转到http://localhost:8080/
访问http://localhost:8887/server2时跳转到 http://localhost:7080/server2/
但实际访问server2发送的请求跳转到了http://localhost:8887/
需要在 server2 后面加上【/】,改为以下即可
location /server2/ {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:7080/server2/;
}