nginx.conf
1.通过目录进行分离。#静态服务器upstream static_pools
{
server 10.0.0.9:80 weight=5 max_fails=10 fail_timeout=10s; }#动态服务器 upstream dynamic_pools{
server 10.0.0.10:80 weight=5 max_fails=10 fail_timeout=10s;}
#上传服务器 upstream upload_pools{
server 10.0.0.10:80 weight=5 max_fails=10 fail_timeout=10s;}
#server标签配置:
server {
listen 80;
#访问的域名
server_name ;
#动态服务器
location / {
proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
#静态服务器
location /image/ {proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
#上传服务器
location /upload/ {proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
server {
listen 80;
#访问的域名
server_name ;
#通过扩展名访问
location ~ {
proxy_pass ;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
用于部分程序不支持的浏览器。
location /
{
#当使用IE浏览器时显示动态内容
if ($http_user_agent ~* "MSIE")
{
proxy_pass ;
}
#当使用火狐浏览器时显示静态内容
if ($http_user_agent ~* "Firefox")
{
proxy_pass ;
}
#其它使用默认
proxy_pass ;
include proxy.conf;
}
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
手机用户和浏览器用户:
当访问同一个域名不同终端的时候,显示内容的服务器不一致
location /
{
#当使用Android终端时访问安卓服务器
if ($http_user_agent ~* "android")
{
proxy_pass ;
}
#当使用苹果终端时访问苹果服务器
if ($http_user_agent ~* "iphone")
{
proxy_pass ;
}
#其它使用默认
proxy_pass ;
include proxy.conf;
}