在数字海洋小滴上连接我的域名

时间:2018-09-29 14:19:44

标签: node.js nginx reverse-proxy digital-ocean nameservers

我创建了一个小型的hello world node应用程序,然后将该应用程序托管在数字海洋飞沫上,之后我可以在http://my_public_ip:3000上访问我的应用程序

感到高兴

然后我从freenom.com购买了一个名为 helloworld.tk 的免费域名。 之后,我将Nginx作为Web服务器安装在我的Droplet中,然后在/ etc / nginx / sites-enable / default中添加了反向代理代码

我的代码如下:

   server {
   listen 80;
   server_name helloworld.tk

   location / {
    proxy_pass http://localhost:3000;
   }
  }

此后,我进入了freenom.com中的域管理面板,并将URL转发设置为http://my_public_ip

因此,如果我在浏览器中输入域名 helloworld.tk ,则我的节点应用程序可以成功运行,但是请等待我的ip地址显示在chrome上角下方的左侧,并且如果我多次刷新页面,我得到

   402 Too many request error page on nginx

所以我删除了URL转发,并在域管理面板中而不是URL转发中,将我的域名服务器设置为ns1.digitalocean.com bla.bla.bla ...

然后,我在我的digitalocean面板中添加了我的域名。现在是的,一切正常。

如果我点击了我的网址,则没有显示IP地址,也没有太多请求错误

我的节点应用程序成功执行!

请问我是托管节点应用程序的初学者,因此我是否需要帮助以确保它在生产时是否正确设置了nodeapp?

URL转发和名称服务器之间有什么区别?我的Nginx反向代理代码是否正确?我的反向代理正常工作吗?

注意:我使用pm2在后台运行节点应用。

4 个答案:

答案 0 :(得分:2)

首先,删除转发,如果您的域不是DigitalOcean之外的其他域,则需要在域DNS管理中更改域的名称服务器

在名称服务器下面添加:

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

现在通过使用whatsmydns.net检查它们是否正在传播(输入您的IP并更改,单击A并选择NS并单击Search)

一旦传播,请将域添加到您的DigitalOcean帐户。

转到您的DigitalOcean仪表板,然后单击“网络”。

添加域,然后单击“保存”。

然后编辑域,并将Droplet添加到域中并保存。

现在单击域名和一个指向您的液滴的A记录。

希望这可以解决您的问题。

答案 1 :(得分:0)

URL转发将浏览器重定向到IP。

我建议使用Docker部署您的Node Apps。

答案 2 :(得分:0)

返回您的DNS域注册商(freenom.com)并删除提及digitalocean名称服务器的内容,并放回其自己的默认frenom.com名称服务器...还要在freenom.com上,确保您已定义要指向的Type A记录您机器的外部IP地址

您的nginx配置看起来不错

这应该工作...现在,如果您在freecon.com注册商中定义了digitalocean域名服务器,则需要转到https://cloud.digitalocean.com/networking/并在那里建立您的Type A记录...了解域名服务器的位置确定了Type A记录必须存放的位置

答案 3 :(得分:0)

您要做的是在DigitalOcean中创建一个Droplet,然后将您的域名添加到Networking选项卡中的Droplet中。您必须同时添加非www和www版本,以便正确指向域。您必须将这两个记录的A记录设置为DigitalOcean为其分配的小滴的IP。

然后从您的GoDaddy /您的域管理器中,转到ManageDNS,并将默认的GoDaddy名称服务器更改为DigitalOcean。保存并完成。

请等待24小时,然后使用check-host.net测试该域。如果一切操作正确,则该域应指向您所选城市中的DigitalOcean服务器。