反向代理适用于很多情况,负载均衡是最常见的用法。
nginx作为目前最普及的web服务器之一,可以很容易地实现反向代理。
nginx反向代理官方文档: NGINX REVERSE PROXY
如果在一台主机上部署了多个不同的web服务器,并且需要能够在80个端口上同时访问这些web服务器,请使用nginx反向代理功能。 在nginx上,80个端口接收所有请求,并根据传输规则(一般通过URI传输)将其转发到相应的web服务器。
例如,webmail、webcom和webdefault这三个服务器分别在portmail、portcom和portdefault端口上运行,并且可以通过80个端口同时访问这三个web服务器然后,将/mail下的请求转发给webmail服务器,将/com下的请求转发给webcom服务器,并将所有其他请求转发给webdefault服务器。
假设服务器域名为example.com,则相应的nginx http配置如下:
123456789101112131415161718 http { server _ name example.com; location/mail/{ proxy _ pass http://example.com:prot mail/} location/com/{ proxy _ pass http://example.com:port CORT com } }
上述配置根据以下规则转发请求: GET和POST请求都将被转发。
将http://example.com/mail/的请求转发到http://example.com:portmail/,将http://example.com/com/的请求转发到http://example.com /
请注意,在上述配置中,webdefault的代理服务器设置没有指定URI,而webmail和webcom的代理服务器设置指定了URI。
如果代理服务器地址包含URI,则此URI将替换与位置匹配的URI部分。
如果代理服务器地址不包含URI,则会使用完整的请求URL将其转发给代理服务器。
官方文档说明:
iftheuriisspecifiedalongwiththeaddress,itreplacesthepartoftherequesturithatchesthelocationparameter.iftheaddresssisssspecispeciong oritisnotpossibletodeterminethepartofuritobereplaced,thefullrequesturiispassed ( possibly,modified )。
上述配置传输示例:
12345http://example.com/mail/index.html-http://example.com/index.com:portmail/index.html 3358 example.com/index a.jpg-http://example.com:portmail/static/a.jpg 3358 example.com main/static/b.CSS http://example.com/other/other
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn