使用nginx中的map做生产与测试分离时,一些注意地方

http {
    ...
    #解决出现could not be resolved
    resolver 8.8.8.8; 
    #解决下滑线不能使用问题
	underscores_in_headers on;
    #当请求中 header有自定义参数app_version时,进行判断要使用哪个域名
    #我这里对版本进行判断
	 map $http_app_version $app_version_upstream_api {  
		default api.xxxxx.com;
		1.8.0 test_api.xxxxx.com;
  }

server {
        listen       443 ssl;
        server_name  api.xxxxx.com;

        ssl_certificate      xxxxx/xxxxx.pem;
        ssl_certificate_key  xxxxx/xxxxx.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
		

        location / {
		    client_max_body_size    10m;
           #$app_version_upstream_api看是一个方法,调用上面的map,然后进行赋值
           proxy_pass  http://$app_version_upstream_api;

	       # Host配置以及域名传递
           #下面一这行一定要注释掉,不然会出现各种情报错,如503
           #proxy_set_header Host $host;

          ....
        }
        #让日志文件按日期进行记录
        if ($time_iso8601 ~ '(\d{4}-\d{2}-\d{2})') {  
                set $tttt $1;  
        }
        access_log logs/apixxxxxcom/$tttt.log main;
    }
    #下面是当请求为 https://yyyy.xxxx.com/appapi/ 时请求向上面的api.xxxx.com
    server {
        listen       443 ssl;
        server_name  yyyy.xxxxx.com;

        ssl_certificate      xxxxx/xxxxx.pem;
        ssl_certificate_key  xxxxx/xxxxx.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
		


		root D:\www\yyyy;
		index index.html;
		
		location /appapi/ {
			client_max_body_size    10m;
            #注:proxy_pass 一定要使用 https ,暂时找不到更好的方法
            proxy_pass  https://api.xxxxx.com/;
			# Host配置以及域名传递
            #注:Host一定要配为api.xxxxx.com
		   proxy_set_header Host api.xxxxx.com;
		  ...
        }
       ...
    }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值