转载请注明出处: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识别的路径作为绝对路径。
微信搜一搜【冰河技术】微信公众号,关注这个有深度的程序员,每天阅读超硬核技术干货,公众号内回复【PDF】有我准备的一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!