【问题标题】:Create an SSL certificate for a Shiny server running on CentOS为在 CentOS 上运行的 Shiny 服务器创建 SSL 证书
【发布时间】:2019-01-12 08:16:05
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: ssl centos shiny-server


    【解决方案1】:

    我的答案是一个字:letsencrypt。

    Letsencrypt 提供了一个可执行文件,它将授予您服务器处理的所有域的 SSL 证书。为此,它会通过安装一个临时 Web 服务器来验证您的计算机,并检查是否可以使用您提供的域名访问它。

    官方网站上有更多信息。获得证书后,只需将它们添加到 nginx 或 Apache 或您正在使用的任何 Web 服务器。

    更新:

    要将 http 调用转发到闪亮的 Web 服务器,您必须使用 Apache Web 服务器作为代理,这意味着每次调用 yo yourdomain:80,都将被重定向到 locahost:3838。

    你必须编辑你的默认配置。在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 就可以了。

    【讨论】:

    • 谢谢@Matías!我尝试使用letsencrypt,但无法将证书添加到Apache Web服务器,特别是将它们应用于Shiny服务器正在使用的3838端口......这样做的正确方法是什么?
    • 再次感谢@Matías。不幸的是,它对我不起作用。如果我能完成它,我会在这里更新
    猜你喜欢
    • 2019-05-13
    • 2012-04-10
    • 2016-10-30
    • 2020-08-04
    • 2023-03-05
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2012-01-16
    相关资源
    最近更新 更多