我用 thin 启动 rails 应用程序,命令如下:
thin start --ssl
rails 确实支持 https 访问了,但是用 http 访问报 No data received 的错误。无论我怎样配置 force_ssl,还是 before_action,都没用。http request 都不能进入 before_action.
Rails 的版本 4.2 Thin 的版本 1.6.3
Nginx 配置
#1 楼 @huacnlee 是不是说如果没有反向代理,只靠 thin 没办法做到自动 https 的重定向?
搜索 Nginx rewrite
生产环境几乎肯定要 Nginx(或者 Apache),在 Nginx 配置 http 重定向 https 可行。大致应该是这样:
server { listen 80; server_name domain.com; return 301 https://domain.com$request_uri; }
如果是开发环境,个人觉得没必要折腾 https,就直接用 http 挺好的。