下面這個第一個location是把http://localhost:1337/gek/轉給node處理
那下面第二個location是乾嗎的,是處理後端傳過來的介面嗎?
不太明白!!!
server {
listen 80;
server_name gek.show.com;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://localhost:1337/gek/;
}
location ~ ^/okc/rest{
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_set_header Host "gek.show.com";
#proxy_pass http://gek.show.com;
proxy_pass http://gek.show.com:8080;
}
}
黄舟2017-05-16 17:15:10
應該這麼說,第一個location是把gek.show.com
域名的80端口请求默认转发给http://localhost:1337/gek/
去处理,如果请求的path符合第二个location的正则那么就会把请求转发给http://gek.show.com:8080
去处理,比如说请求http://gek.show.com/okc/rest/test.html
就會轉發給第二個location去處理.
~ #波浪線表示執行一個正規匹配,區分大小寫
^~ 則只匹配該規則,nginx停止搜尋其他匹配,否則nginx會繼續處理其他location指令