Rails简单的Captcha不会通过HTTPS

时间:2016-06-15 04:16:25

标签: ruby-on-rails ruby ssl nginx captcha

我正在使用simple_captcha2 gem进行Rails身份验证,并使其在开发中运行良好,但验证码图像/代码不会在生产中通过SSL层,因此图像不会在验证码表单中呈现。我使用这个letsencrypt教程为多个域设置了OpenSSL,它适用于除simple_captcha2以外的所有内容。

以下是Firefox的错误输出:

Loading mixed (insecure) display content "http://anrcho.com/simple_captcha?code=f987a2c87ea145419d79a00d6a257df701e2bea8&time=1465962694" on a secure page

1 个答案:

答案 0 :(得分:1)

将以下行(如here所述)添加到我的nginx.conf解决了request.protocol返回错误协议的问题:

proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;

对于未加载的验证码图像,无论是安全还是不安全的内容,都必须安装imagemagick