我創建了兩個新專案并將其部署在同一個液滴中的數字海洋中。一是django,二是node js專案。
該域實際上托管在 aws 中,因此第一個已經可以使用
sample.maindomain.com (django)
maindomain.com (nodejs) //currently trying to figure out how route this domain toi nodejs project
假設數字海洋的 IP 地址是 167.162.169.224
所以Route 53是這樣配置的
Recordname Type Routing Value/Route traffic to
sample.maindomain.com A Simple 167.162.169.224
maindomain.com A Simple what should be the value ?
我在 nginx 中創建了兩個單獨的檔案,因為反向代理看起來像這樣
//sample.maindomain.com(django)
server {
Server_name sample.maindomain.com www.sample.maindomain.com
location /
................
// maindomain.com(nodejs)
server {
server_name maindomain.com www.maindomain.com
root /home/projectdir/nodejsproject;
location / {
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;
}
}
....................
.......................
所以問題是,我如何路由maindomain.com它以使其指向 Digital Ocean 中托管的 nodejs 專案 nginx 配置?
實際上,如果專案部署在 Ec2 實體中,通過將域或子域指向 CNAME 來添加子域更容易,例如ec2-19-192-107-202.eu-central-1.com
uj5u.com熱心網友回復:
您必須對兩個主機名使用相同的公共 IP,并根據HostWeb 請求的欄位讓您的 Droplet 將請求發送到正確的后端。
什么叫Virtual Hosting。
有很多例子如何用 nginx 做到這一點,這只是一個隨機的:https ://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-server-blocks-virtual-主機上 ubuntu-16-04
uj5u.com熱心網友回復:
我嘗試洗掉并重新創建虛擬主機并重新啟動服務器幾次,但它沒有作業。nginx 配置正確并指向確切的專案位置,但仍指向其他作業專案。
經過多次谷歌搜索,我意識到我需要將 ssl 證書添加到專案中并使用 certbot https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx安裝它/
我不知道為什么添加 ssl 證書后解決了我的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/482363.html
標籤:亚马逊网络服务 联网 数字海洋 亚马逊-route53
上一篇:了解AWSlambda重試機制
