您的位置:首页 > 运维架构 > 反向代理

Nginx之反向代理配置

2013-08-27 14:07 295 查看
192.168.70.134  www.jiang.com
1.正向代理与反向代理的理解
正向代理:正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须进行一些特别的设置才能使用正向代理
反向代理:对于客户端而言它就是原始服务器,客户端不需要进行任何的设置;客户端向反向代理发送请求,反向代理判断何处(原始服务器)转交请求,并将获得的内容返回给客户端

客户端访问网络如果需要指定某个代理服务器去获取内容就是正向代理
服务器隐藏在代理服务器的后面,让代理服务器抵挡客户端的访问的就是反向代理
正向代理的用途是为在防火墙内的局域网客户端提供访问internet的的途径
反向代理的用途是将防火墙后面的服务器提供给internet用户访问

2.简单的配置

server {
listen 80;
server_name www.zhu.com;
location / {
proxy_pass http://www.jiang.com; }
}
proxy_pass :配置反向代理的指令
由于是实验机,在/etc/hosts进行域名绑定

192.168.70.134  www.jiang.com
虚拟主机www.jaing.com的配置

[root@zhu1 ~]# vim /opt/nginx/conf/vhosts/jiang.conf
server {
listen 80;
root /var/www/jiang;
index index.html index.htm ;
server_name www.jiang.com;
access_log /var/log/zhu.log;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/jiang$fastcgi_script_name;
}
}
这样,当我们访问代理服务器www.zhu.com时,请求就会映射到www.jiang.com

具体的方向代理配置以及参数的设置如下:
1. 配置反向代理

upstream zhuzhu {
server 192.168.70.133;
}
server {
listen 80;
server_name www.zjt.com;
access_log logs/zit.log;
error_log logs/zjt.error.log;
root /var/www/html;
index index.html index.htm index.php;
location / {
proxy_pass http://zhuzhu; proxy_redirect off;
proxy_set_header Host   $host;
proxy_set_header X-Real-IP        $remote_addr;
proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
client_body_buffer_size 128k;
client_max_body_size 50m;
proxy_max_temp_file_size 128m;
proxy_connect_timeout   90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
2.检查配置文件并重启

/opt/nginx/sbin/nginx -t
/opt/nginx/sbin/nginx -s reload

3.在C:\WINDOWS\system32\drivers\etc\hosts绑定域名
192.168.70.134 www.zjt.com
访问:



然而我的zabbix服务器是搭建在192.168.70.133上的
反向代理配置完成
proxy_redirect off;
proxy_set_header :设置由后端的服务器获取用户的主机名或真实的ip地址
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
client_body_buffer_size 128k; 客户端请求主题缓冲区的大小,可理解为先保存到本地再传给用户
proxy_connect_timeout 90; 与后端服务器连接的超时时间
proxy_read_timeout 90;设置nginx从代理的后端服务器获取信息的时间
proxy_buffer_size 4k; 设置缓冲区的大小
proxy_buffers 4 32k;设置缓冲区的数量和大小
proxy_busy_buffers_size 64k;系统繁忙时可以使用的proxy_buffers的大小
proxy_temp_file_write_size 64k;指定proxy缓存临时文件的大小
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息