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