我目前正在使用Rails 5.2.1。当我启动Rails服务器时,我会做:
rails s -p 3000 -b x.x.x.x(ip) -e production -d
这将启动使用puma的Rails服务器。我可以在我的Rails应用程序中使用SSL吗?
答案 0 :(得分:0)
只要您在配置目录中的某个地方有本地密钥,您就应该能够做到:
rails s puma -p 3000 -b 'ssl://0.0.0.0:3000?key=config/your_key_file.key&cert=config/your_certificate_file.crt'
如果您需要了解如何生成本地证书和密钥,这是一个不错的帖子:https://rossta.net/blog/local-ssl-for-rails-5.html#create-a-self-signed-certificate
答案 1 :(得分:0)
答案 2 :(得分:0)
不要将Puma直接暴露在互联网上-puma的设计假设是它将位于反向代理(例如nginx)之后。
nginx层将为您的应用程序提供另一层或保护,并具有显着提高应用程序可能服务(资产)的任何静态文件的额外好处。
您可以使用puma的-b
选项(尝试puma -help
)使用SSL / TLS,但是除非您有其他选择,否则我将避免这种情况。
请澄清一下,我是iodine HTTP / WebSocket Ruby服务器的作者,该服务器还支持SSL / TLS ...将此建议视为明智的建议:我建议使用反向代理。