在 CentOS 上为 Shiny 服务器 运行 创建 SSL 证书
Create an SSL certificate for a Shiny server running on CentOS
我不知道如何为在 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
谢谢!
我的答案一言以蔽之:letsencrypt。
Letsencrypt 提供了一个可执行文件,它将为您的服务器处理的所有域授予 SSL 证书。为此,它会通过安装一个临时 Web 服务器来验证您的机器,并检查是否可以使用您提供的域名访问它。
官方网站上有更多信息。获得证书后,只需将它们添加到 nginx 或 Apache 或您正在使用的任何网络服务器即可。
更新:
要将 http 调用转发到您闪亮的 Web 服务器,您必须使用 Apache Web 服务器作为代理,这意味着您 yourdomain:80 的每个调用都将被重定向到 locahost:3838。
您必须编辑您的默认配置。在 ubuntu 中,您可以在以下路径中找到它:/etc/apache2/sites-enabled/000-default.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 就可以了。
我不知道如何为在 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
谢谢!
我的答案一言以蔽之:letsencrypt。
Letsencrypt 提供了一个可执行文件,它将为您的服务器处理的所有域授予 SSL 证书。为此,它会通过安装一个临时 Web 服务器来验证您的机器,并检查是否可以使用您提供的域名访问它。
官方网站上有更多信息。获得证书后,只需将它们添加到 nginx 或 Apache 或您正在使用的任何网络服务器即可。
更新:
要将 http 调用转发到您闪亮的 Web 服务器,您必须使用 Apache Web 服务器作为代理,这意味着您 yourdomain:80 的每个调用都将被重定向到 locahost:3838。
您必须编辑您的默认配置。在 ubuntu 中,您可以在以下路径中找到它:/etc/apache2/sites-enabled/000-default.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 就可以了。