Nginx反向代理的配置语法
Nginx反向代理模块的指令是由ngx_http_proxy_module
模块进行解析,该模块在安装Nginx的时候已经自己加装到Nginx中了,接下来我们把反向代理中的常用指令一一介绍下:
proxy_pass
proxy_set_header
proxy_redirect
proxy_pass
该指令用来设置被代理服务器地址,可以是主机名称、IP地址加端口号形式。
语法 | proxy_pass URL; |
---|---|
默认值 | — |
位置 | location |
URL:为要设置的被代理服务器地址,包含传输协议(http
,https://
)、主机名称或IP地址加端口号、URI等要素。
举例:
proxy_pass http://www.baidu.com;
location /server{}
proxy_pass http://192.168.200.146;
http://192.168.200.146/server/index.html
proxy_pass http://192.168.200.146/;
http://192.168.200.146/index.html
大家在编写proxy_pass的时候,后面的值要不要加"/"?
接下来通过例子来说明刚才我们提到的问题:
server {
listen 80;
server_name localhost;
location /{
#proxy_pass http://192.168.200.146;
proxy_pass http://192.168.200.146/;
}
}
当客户端访问 http://localhost/index.html,效果是一样的
server{
listen 80;
server_name localhost;
location /server{
#proxy_pass http://192.168.200.146;
proxy_pass http://192.168.200.146/;
}
}
当客户端访问 http://localhost/server/index.html
这个时候,第一个proxy_pass就变成了http://localhost/server/index.html
第二个proxy_pass就变成了http://localhost/index.html效果就不一样了。