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效果就不一样了。