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识别的路径作为绝对路径。
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!
以上是nginx如何配置代理转发的详细内容。更多信息请关注PHP中文网其他相关文章!