原本我使用 nginx 的 proxy_pass 只設定這樣
vim /usr/local/etc/nginx/site-enabled/site
server {
listen 80;
server_name my-domain-name.com;
location / {
proxy_pass http://hank.local:8210;
}
}
但是在後端程式從 header 裡判斷 host 會一直找到 hank.local:8210 而不是 my-domain-name.com
後來找到一個方法可以保留 header 到 proxy 裡, 加上 proxy_set_header Host $http_host 即可
server {
listen 80;
server_name my-domain-name.com;
location / {
proxy_pass http://hank.local:8210;
proxy_set_header Host $http_host;
}
}
重新讀取 nginx 設定檔
sudo nginx -s reload