为在CentOS上运行的Shiny服务器创建SSL证书

时间:2018-08-04 21:00:54

标签: ssl centos shiny-server

我不知道如何为在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

谢谢!

1 个答案:

答案 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,您就很好了。