nginx配置示例

通过nginx解决跨域访问,系统高可用等问题的配置文件示例。

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;

    # 通过upstream实现服务的高可用。
    upstream ups_warnings {
        server http://192.168.122.24:8083;
        server http://192.168.122.25:8083 backup;
    }
    # 第一个server,监听80端口。
    server {
#   resolver dns.resolver;
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        location ^~ /tags {
            proxy_pass   http://192.168.122.23:80/tags;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
        location ^~ /warnings/ {
            rewrite /warnings/(.+)$ /$1 break;
            proxy_pass  http://ups_warnings;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    # 第二个server,监听81端口。
    server {
#   resolver dns.resolver;
        listen       81;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        location ^~ /tags {
            proxy_pass   http://192.168.122.23:80/tags;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
        location ^~ /warnings/ {
            rewrite /warnings/(.+)$ /$1 break;
            proxy_pass  http://ups_warnings;
            proxy_set_header  X-Real-IP  $remote_addr;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

注:当header中包含“_”的时候,nginx会致使header丢失。可以通过如下配置让nginx不过滤,但这种方式是不安全,且不推荐的。

ignore_invalid_headers on;
underscores_in_headers on;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值