Nginx之——配置转发代理接口

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l1028386804/article/details/89961174

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/89961174

Nginx可以配置多个服务器,一个Server就是一个服务器

server {
      listen       80;
      server_name  *.yourdomain.com;

   ....
}

代理转发实在server下面的location

server {
   // 服务器配置
   location  / {
   // ...... 代理配置
   }
}

常见的Nginx代理配置

upstream my_server {                                                         
    server 10.0.0.2:8080;                                                
    keepalive 2000;
}
server {
    listen       80;                                                         
    server_name  10.0.0.1;                                               
    client_max_body_size 1024M;

    location /my/ {
        proxy_pass http://my_server/;
        proxy_set_header Host $host:$server_port;
    }
}

通过该配置,访问nginx地址http://10.0.0.1:80/my的请求会被转发到my_server服务地址http://10.0.0.2:8080/

需要注意的是,如果按照如下配置:

upstream my_server {                                                         
    server 10.0.0.2:8080;                                                
    keepalive 2000;
}
server {
    listen       80;                                                         
    server_name  10.0.0.1;                                               
    client_max_body_size 1024M;

    location /my/ {
        proxy_pass http://my_server;
        proxy_set_header Host $host:$server_port;
    }
}

那么,访问nginx地址http://10.0.0.1:80/my的请求会被转发到my_server服务地址http://10.0.0.2:8080/my。这是因为proxy_pass参数中如果不包含url的路径,则会将location的pattern识别的路径作为绝对路径。

参考:https://www.cnblogs.com/fanzhidongyzby/p/5194895.html

猜你喜欢

转载自blog.csdn.net/l1028386804/article/details/89961174