nginx+zuul


  最近將公司的一些服務遷移到spring cloud了,感覺zuul智能路由的功能非常好用,比以前手動在nginx中添加localtion,upstream方便多了,但是服務域名的80端口被nginx占用,所以就采用了nginx+zuul的模式。
廢話不說直接上配置,在nginx.conf中添加:

注意“{}”中的信息請填寫自己的


server {
        listen       80;
        server_name  {domain};
	    rewrite ^/a/b/(.*)$  /server1/a/b/$1;
        rewrite ^/c/(.*)$  /server2/c/$1;
	
    	 location /server1 {
               proxy_pass http://xx.xx.xx.xxx:8888;
               proxy_set_header host $host;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header referer "-";
               proxy_redirect default;
          }
    	location /server2 {
               proxy_pass http://xx.xx.xx.xxx:8888;
               proxy_set_header host $host;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header referer "-";
               proxy_redirect default;
          }
    }


1. server1,server2為服務名,/a/b為server1的context,/c是server2的context
2. http://xx.xx.xx.xxx:8888 是zuul的服務地址
3. rewrite ^/a/b/(.*)$  /a/b/brand/$1;  $1表示的是rewrite正則中()中的內容


因為zuul的默認是按 server name 將請求路由的,所以在nginx使用rewrite的方法將請轉發到zuul。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM