nginx代理详解
2016-05-31 09:54
211 查看
1、新建配置文件
vim /usr/local/nginx/conf/vhosts/proxy.conf
2、添加以下内容
server{
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://61.135.169.121/; # proxy_set_header Host $host
}
}
3、重新加载
/usr/local/nginx/sbin/nginx -s reload
4、使用curl测试
curl -x127.0.0.1:80 www.baidu.com
查看返回结果以</html>结尾测试成功
5、配置解析一个域名对应多个ip地址的代理(相当负载均)
将配置修改成如下
upstream river{
server 61.135.169.125:80;
server 61.135.169.121:80;
}
server{
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://river/; proxy_set_header Host $host;
}
}
6、再次使用curl测试查看返回结果</html>结尾测试成功
7、需求:当请求的目录是 /aaa/ 则把请求发送到机器a,当请求的目录为/bbb/则把请求发送到机器b,除了目录/aaa/与目录/bbb/外,其他的请求发送到机器b
upstream aaa.com
{
server 192.168.111.6;
}
upstream bbb.com
{
server 192.168.111.20;
}
server {
listen 80;
server_name li.com;
location /aaa/
{
proxy_pass http://aaa.com/aaa/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /bbb/
{
proxy_pass http://bbb.com/bbb/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /
{
proxy_pass http://bbb.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
8、场景:1台nginx去代理4台apache
需求:根据不同的请求uri 代理到不同的apache
upstream aa.com {
server 192.168.0.121;
server 192.168.0.122;
}
upstream bb.com {
server 192.168.0.123;
server 192.168.0.124;
}
server {
listen 80;
server_name www.abc.com;
location ~ aa.php
{
proxy_pass http://aa.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ bb.php
{
proxy_pass http://bb.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Nginx的Web缓存服务解释 http://blog.sina.com.cn/s/blog_664553710100zmxr.html
vim /usr/local/nginx/conf/vhosts/proxy.conf
2、添加以下内容
server{
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://61.135.169.121/; # proxy_set_header Host $host
}
}
3、重新加载
/usr/local/nginx/sbin/nginx -s reload
4、使用curl测试
curl -x127.0.0.1:80 www.baidu.com
查看返回结果以</html>结尾测试成功
5、配置解析一个域名对应多个ip地址的代理(相当负载均)
将配置修改成如下
upstream river{
server 61.135.169.125:80;
server 61.135.169.121:80;
}
server{
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://river/; proxy_set_header Host $host;
}
}
6、再次使用curl测试查看返回结果</html>结尾测试成功
7、需求:当请求的目录是 /aaa/ 则把请求发送到机器a,当请求的目录为/bbb/则把请求发送到机器b,除了目录/aaa/与目录/bbb/外,其他的请求发送到机器b
upstream aaa.com
{
server 192.168.111.6;
}
upstream bbb.com
{
server 192.168.111.20;
}
server {
listen 80;
server_name li.com;
location /aaa/
{
proxy_pass http://aaa.com/aaa/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /bbb/
{
proxy_pass http://bbb.com/bbb/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /
{
proxy_pass http://bbb.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
8、场景:1台nginx去代理4台apache
需求:根据不同的请求uri 代理到不同的apache
upstream aa.com {
server 192.168.0.121;
server 192.168.0.122;
}
upstream bb.com {
server 192.168.0.123;
server 192.168.0.124;
}
server {
listen 80;
server_name www.abc.com;
location ~ aa.php
{
proxy_pass http://aa.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ bb.php
{
proxy_pass http://bb.com/; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Nginx的Web缓存服务解释 http://blog.sina.com.cn/s/blog_664553710100zmxr.html
相关文章推荐
- Apache后端获取用户真实IP地址-nginx前端
- LNMP--Nginx代理详解
- Nginx防盗链,Nginx访问控制,,Nginx解析php相关配置,Nginx代理
- Nginx代理上传文件大小设置
- nginx代理配置
- nginx的配置、虚拟主机、负载均衡和反向代理--03
- Webpack + Tomcat + Nginx/Apache实现前后端开发分离
- Nginx防盗链,Nginx访问控制,Nginx解析PHP的相关配置,Nginx代理
- 【Nginx】利用nginx搭建集群环境
- Nginx服务器实现跨域转发(windows)
- nginx针对请求的uri来代理
- vue打包使用Nginx代理解决跨域问题
- kibana安全——设置访问账号密码
- Linux Centos 6.5_x86安装Nginx
- 服务器监控之zabbix监控Nginx篇
- nginx禁止指定user_agent
- nginx的一些安全配置笔记
- Nginx开启Gzip压缩大幅提高页面加载速度
- Nginx安装部署