[英]Enable https in a rails app on a thin server
试试这个:
$ thin start --ssl
如果需要ssl和非ssl端口,则需要单独的实例。
我不知道你是否需要它,但这对我有所帮助:
thin start --ssl --ssl-verify --ssl-key-file ssllocal/server.key
--ssl-cert-file ssllocal/server.crt
编辑ssl key和ssl fild的路径。 例如我的密钥在paypal文件夹中,所以命令是
thin start --ssl --ssl-verify --ssl-key-file paypal/server.key
--ssl-cert-file paypal/server.crt
如果您遇到问题,可以查看这篇文章 - Thin with SSL support and ruby-debug 。
希望这可以帮助。
你应该使用thin来做到这一点:
$ sudo apt-get install thin
并在config / application.rb中添加此行
config.force_ssl = true
然后使用命令行在thin上运行app:
$ thin start --ssl
按照下面的步骤..它直接取自令人敬畏的 makandra 卡......我正在粘贴下面的步骤..但请访问该页面以获得更好的清晰度。
注意 - 虽然这对我没有帮助,因为我想设置 https 来检查 Stripe Google Pay 按钮,但由于某些原因无法继续......我将尝试使用 ngrok 设置 https 并分享我更新的学习。
在您的主目录中创建一个目录 .ssl。 去那里创建一个自签名证书。 询问时输入 localhost.ssl 作为通用名称很重要。 这是为了让您的浏览器相信证书归 localhost 域所有。
将 localhost.ssl 添加到您的主机文件
回声“127.0.0.1 localhost.ssl”| sudo tee -a /etc/hosts 将附加的初始化程序放入 config/initializers。 它对 ForceSSL 模块进行猴子补丁以在开发中工作,并包含两个自定义配置设置:use_ssl 和 ssl_port。
在您的 application.rb 中,添加 config.use_ssl = false。 (一般关闭 SSL。)
在您的环境/production.rb 添加 config.use_ssl = true。 (在生产中打开 SSL。)
在您的环境/development.rb 添加 config.use_ssl = true 和 config.ssl_port = 3001。(在开发中打开 SSL 并将您的应用程序指向端口 3001。)
将 force_ssl 添加到您需要的任何控制器。 您可以提供 :only => :some_action 和 :except => :some_unsafe_action 作为选项。
靴子薄
thin start -p 3001 --ssl --ssl-key-file ~/.ssl/server.key --ssl-cert-file ~/.ssl/server.crt 选项 -p 告诉 Thin 绑定到端口 3001。要同时运行 http 开发服务器,请使用 Thin start -p 3000 启动它。(要使用 Thin 运行应用程序,请将 gem 'thin' 添加到 Gemfile。)
将浏览器指向 http://localhost:3000。 您应该被重定向到 https://localhost:3001/。 如果被要求不要公开客户端证书,请取消该警报。 没有它就可以正常工作。
链接到 Makandra 卡 - https://makandracards.com/makandra/15903-using-thin-for-development-with-ssl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.