Node.js的一個二維碼生成的服務接口運行在本機http://localhost:3000/qrcode?text=abc
一開始Nginx的反向代理配置如下:
location /myapi {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
那么訪問http://www.domain.com/myapi/qrcode?text=abc的時候
Node.js拿到的訪問路徑是//qrcode?text=abc
如果proxy_pass http://localhost:3000/;改成proxy_pass http://localhost:3000;
那么Node.js拿到的訪問路徑又變成了:/myapi/qrcode?text=abc
反正,怎么都不對。
最后突然發現應該是這樣子:
location /myapi**/** {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}