Nginx实际案例 重定向rewrite+反向代理proxy_pass

一、背景

  要求访问路径:

   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

你可能感兴趣的:(中间键,nginx)