我不知道如何为在CentOS计算机上运行的Shiny服务器创建SSL证书。
我的最终目标是能够使用HTTPS访问我的应用程序。
因此,而不是- HTTP ://mydomain.com:3838 / my-app /
具有类似- HTTPS ://mydomain.com:3838 / my-app /
甚至更好- HTTPS :// mydomain / my-app /
我通过大量教程竭尽全力,但我不是系统管理专家,也没有取得很大成功。
非常感谢您的帮助!
# cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
# shiny-server --version
Shiny Server v1.5.7.907
谢谢!
答案 0 :(得分:1)
我的回答只有一个字:letesencrypt。
Letsencrypt提供了一个可执行文件,该文件将为您的服务器处理的所有域授予SSL证书。为此,它通过安装临时Web服务器来验证您的计算机,并检查是否可以使用您提供的域名访问它。
官方网站上有更多信息。拥有证书后,只需将它们添加到nginx或Apache或您使用的任何Web服务器。
更新:
要将HTTP呼叫转发到闪亮的Web服务器,您必须使用Apache Web服务器作为代理,这意味着,yourdomain:80的每个调用都将重定向到locahost:3838。
您必须编辑默认的conf。在ubuntu中,您可以在以下路径中找到它:/etc/apache2/sites-enabled/000-default.conf
然后,在conf文件中:
<VirtualHost *:80>
# These lines configures SSL
SSLEngine on
SSLCertificateFile /path/to/your/ssl.crt
SSLCertificateKeyFile /path/to/your/ssl.key
# These lines configure the proxy
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3838/
ProxyPassReverse / http://0.0.0.0:3838/
# This sets the domain name to listen for
ServerName yourdomain.com
</VirtualHost>
然后,重新启动apache,您就很好了。