使用 nginx 在 Digital Ocean 上设置 MEAN 应用

使用 nginx 在 Digital Ocean 上设置 MEAN 应用

我正在尝试在 digitalocean 上设置 Nodejs + Angularjs 应用程序。我将前端 (angularjs) 和后端 (nodejs) 分成两个 nodejs 服务器,每个服务器分别在端口 3000 和 4000 上运行。我希望 angularjs 应用程序在 mydomain.com 上提供服务,后端服务器通过子域 api.mydomain.com 提供服务。我的 nginx 配置是:

server {
    server_name mydomain.com;
    location / {
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $proxy_host;
       proxy_set_header X-NginX-Proxy true;  
       proxy_pass http://127.0.0.1:3000;
    }
}    

server {
    server_name api.mydomain.com;
    location / {
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host $proxy_host;
       proxy_set_header X-NginX-Proxy true;  
       proxy_pass http://127.0.0.1:4000;
    }
}

以下是 droplet 的 DNS 配置:

Type     Host                  Value                   TTL
A   api.mydomain.com  directs to IP_ADD_OF_DROPLET    3600
A   mydomain.com      directs to IP_ADD_OF_DROPLET    1800
NS  mydomain.com      directs to ns1.digitalocean.com 1800
NS  mydomain.com      directs to ns2.digitalocean.com 1800
NS  mydomain.com      directs to ns3.digitalocean.com 1800

mydomain.com 配置为使用 3 个 digitalocean 名称服务器 (ns_.digitalocean.com)

我需要这方面的帮助,以便可以访问 api 服务器(api.mydomain.com)。

答案1

的 NS 记录mydomain.com指向属于 GoDaddy 的ns37.domaincontrol.comns38.domaincontrol.com,因此没有人知道您在 上的设置ns_.digitalocean.com。您需要在域名注册商(我假设是 GoDaddy)的域控制面板中设置记录以指向 Digital Ocean 名称服务器,或者在域控制面板上为 @ 和 api NS创建必要的记录。A

相关内容