访问proxy.xxxx.com ,显示 https://192.168.1.60 内容,实现负载均衡,在nginx配置文件夹里增加 /usr/local/nginx/conf/proxy.xxxx.com.conf 文件,内容如下:
server
{
listen 80;
server_name proxy.xxxx.com;
#设定负载均衡的服务器列表
#这样weight=3表示3/6的几率访问第一个server,1/6访问第二个。另外还可以定义max_fails和fail_timeout等参数。
upstream hello{
server 192.168.1.60:1985 weight=3 max_fails=2 fail_timeout=30s;
server 192.168.1.42:8086 weight=1 max_fails=2 fail_timeout=30s;
}
location / {
proxy_pass http://hello; #在这里设置一个代理,和upstream的名字一样
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;
}
access_log logs/proxy.xxxx.com_access.log;
}
可以参考:http://blog.csdn.net/hiyun9/article/details/51602428
Nginx解决转发地址时跨域的问题,增加以下代码:
#add_header Access-Control-Allow-Origin *;
#add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
#add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
#add_header Access-Control-Allow-Credentials true;
nginx 反向代理参数说明:
proxy_temp_path /home/proxy_temp_dir; #指定临时文件目录
proxy_cache_path /home/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1d max_size=1g;
#设置Web缓存区名称为cache_one,内存缓存为50MB,自动清除1天内没有被访问的文件,硬盘缓存为1GB。
client_body_buffer_size 512k; #增加缓冲区代理缓冲客户端请求的最大字节数
proxy_connect_timeout 60; #增加连接后端服务器超时时间(代理连接超时)
proxy_read_timeout 60; #增加后端服务器响应请求超时时间(代理接收超时)
proxy_send_timeout 60; #增加后端服务器发送数据超时时间(代理发送超时)
proxy_buffer_size 32k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 64k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 128k; #增加高负荷下缓冲大小或者系统繁忙时可申请的proxy_buffers大小(proxy_buffers*2)
proxy_temp_file_write_size 128k; #增加proxy缓存临时文件的大小
proxy_cache_key $host$uri$is_args$args; #增加设置web缓存的key值,nginx根据key值md5哈希存储缓存
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; #增加故障转移,如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。proxy_cache cache_one; #增加使用web缓存区cache_one
网友评论