一、背景
要求访问路径:
nginxIP:端口/aaa/ >>>反向代理到>>> HOST1:端口/aaa
nginxIP:端口/aaa/bbb >>>反向代理到>>> HOST2:端口/bbb
并且需要nginx支持websocket
二、配置文件
server {
# 监听端口8900即当访问服务器的端口是8900时,进入这个server块处理
listen 8900;
# server_name当配置了listen时不起作用
server_name localhost;
# location后面代表访问路径 当是/aaa/bbb请求时,代理到相应服务
location /aaa/bbb {
# rewrite重定向,将/aaa/bbb/***访问路径重定向为/bbb/***
rewrite ^/aaa/bbb/(.*)$ /bbb/$1 break ;
# 使用 proxy_pass(固定写法)后面跟要代理服务器地址
proxy_pass http://${后端服务1 IP}:${端口};
# 以下四条用来支持websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
location /aaa {
# 使用 proxy_pass(固定写法)后面跟要代理服务器地址
proxy_pass http://${后端服务2 IP}:${端口};
}
# 以下四条用来自持websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
三、操作流程
./nginx -s reload