Nginx反向代理

SakurArrivederci大约 1 分钟NginxNginx反向代理

Nginx反向代理

多项目共用80端口

例如: demo1.alorz.comopen in new windowdemo2.alorz.comopen in new window 分别为两个不同项目,但是同样使用80端口 使用静态html部署时,至少需要两个server(仅为我所了解的): 第一个是用于启动一个服务项目,让其可以通过端口访问到网页(纯静态网页服务使用,如果是php等项目可以直接配置运行地址) 第二个用于代理转发 第三个可选项upstream,用于均衡负载,有需求的可以了解一下

    # 均衡负载
    upstream blog{
        server 127.0.0.1:81;
    }
    # 此服务作用为启动静态服务
    server {
        listen       81;
        location / {
            root blog;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html last;
        }
    }
    # 此服务作用于代理转发
    server {
        listen       80;
        server_name  blog.alorz.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass   http://blog;
            proxy_set_header Host $proxy_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

同域名下的反向代理

例如: 访问 http://api.alorz.comopen in new window 为网页程序 访问 http://api.alorz.com/apiopen in new window 为后端程序 实际后端程序应用为http://127.0.0.1:5210open in new window

    server {
        listen       80;
        server_name  api.alorz.com;

        location ^~ / {
            proxy_pass   http://127.0.0.1:8081;
            proxy_set_header Host $proxy_host ;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ^~ /api/ {
            proxy_pass   http://127.0.0.1:9001/;
            proxy_set_header Host $proxy_host ;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
上次编辑于: