我创建了一个小型的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在后台运行节点应用。
答案 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服务器。