確認好 IP:port 都可以正確進入之後,就要來實作 DNS 指向以及轉導的部分了。
作法上來說,先申請 3 個 subdomain,然後將這 3 個 domain 都指向首頁這個 container,再根據反向代理的方式,偵測到不同的 domain 就 proxy 到特定的機器 。建議主機最好要有固定 IP,否則每次重開機 IP 變換就要重新設定,會麻煩死。
設定好了之後,在 home 主機的 conf 檔案 (default.conf) 加入以下,當然若有多個的話就多設定幾個:
server { listen 80; server_name domain-b.domain.tw; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://{hostIP}:8000; } }
設定好了之後,重新啟動 docker,輸入網址試看看是否能正常進入。進不了我也沒辦法。
坑
1. 一開始傻傻的以為可以轉導到 localhost: 8000,但會拿到 502 Bad Gateway
推測應該是已經進入該 container,所以 8000 port 其實是沒有東西的,因此會出現 502 錯誤。解決方式就是使用 IP 取代 localhost,內網或是外網的都可以,但若使用內網後續會有 wordpress 存取不到資源的問題。
也因此建議要去 EC2 設定 Elastic IPs,如此才會有固定 IP 可以使用。