nginx的proxy不是用nginx作为后端服务器的代理,而是将proxy作为所有客户端的代理。
nginx服务器上的设置
客户端测试
这里要注意:proxy_pass后面的HOST参数一定不能带有/号。否则访问的内容不一样。
我现在把/号加上看看效果
总结下:
如果不带/号,那么访问
如果带了/号,那么访问 就是在访问
为了能够让代理服务器将不同的访问请求发往不同的后端服务器上,就需要写多个代理脚本
比如访问图片就访问RS1 访问PHP 就访问RS2
用户端测试
我们来看下后端服务器上的访问日志
/var/log/httpd/access_log
我们的客户端的地址是10.0.1.5,但是在后端服务器上的客户端地址是10.0.1.11,就是因为代理服务器代表客户端访问资源。
为了能够在后端服务器上显示真实的客户端地址需要在代理服务器上设置,在处理请求报文时,添加真实客户端地址
在nginx配置文件中添加
后端服务器需要将指定的字段显示到日志中
就需要编辑httpd.conf文件 /etc/httpd/conf/httpd.conf
客户端测试
代理服务器也可以有自己的缓存,这样可以更快的响应客户端的请求
先测试下没有缓存的情况下批量请求的响应时间
ab -c 100 -n 1000 http://www.yueyue.com/index.php
现在添加缓存配置
在http的模块里添加
客户端测试
查看缓存路径