我希望通过谷歌域名(比如:dataiscool.net)在数字海洋液滴上托管一些闪亮的应用程序。我已经按照这里的说明设置了droplet并安装了shiny服务器:https://deanattali.com/2015/05/09/setup-rstudio-shiny-server-digital-ocean/
Shiny Server服务器已建立,服务器块已清理,端口:3838被替换为/Shiny/。
我已经设置了我的注册商指向数字海洋名称服务器,写在这里:https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars
和设置DNS方面的东西在数字海洋写在这里:https://www.digitalocean.com/docs/networking/dns/how-to/add-domains/
我能够在IP(例如,64.238.119.95/Shiny/App)上访问我的Shiny应用程序,但我无法在自定义域(例如,dataiscool.net/shiny/app)访问它(404错误)
我是nginx, web服务器等方面的新手,但我无法开始排除我可能出错的地方-无论是Shiny服务器,nginx还是DNS方面的事情。
我想我应该和其他可能有同样问题的人分享一下。这都是nginx的配置问题。当你安装和加载nginx时,你会在/etc/nginx/sites-enabled/default中得到一个默认配置文件-你需要取消链接或删除它!这种方式的proxpass模式,许多教程将工作:
location /shiny/ {
proxy_pass http://127.0.0.1:3838/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^(/shiny/[^/]+)$ $1/ permanent;
}
location /rstudio/ {
proxy_pass http://127.0.0.1:8787/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
您可以使用IP地址访问资源,但当您使用域名时却不能访问资源,这表明这是DNS问题。除了基于信息(除了你应该确保你有一个指向你的IP地址的A记录)之外很难说。
使用命令行工具"dig"(Linux或Mac)或"nslookup";(Windows)可能会帮助您验证DNS设置是否正确。
您也可以使用https://dnslytics.com/来验证您的DNS设置。