2015-10-20 35 views
0

我有我的郵件發送類似下面的賬戶激活鏈接:導軌 - 激活帳戶不是重定向到https

edit_account_activation_url(@ user.activation_token,電子郵件:@ user.email)

生產:

http://MYAPPHOST/account_activation/7Apxg0G5t2V5tHrO2tatPQ/edit?email=sdf%40oiu.com

它工作時,我改變它爲https,但它沒有被重定向。我已經有config.force_ssl = true,所以我不知道如何啓用此重定向。任何幫助表示讚賞。

每當我去http://MYAPP我重定向到約:空白

回答

2

我假設這是在生產環境中?您使用哪種託管服務提供商和/或服務器(Heroku,AWS和Apache,NGINX等)。

檢查您的SSL設置,爲您的Web服務器,特別是X-Forwarded-Proto標題。當HTTPS請求到達Apache/NGINX時,它們將終止SSL連接並向Unicorn/Puma/Thin/Webrick發送HTTP請求。除非您設置X-Forwarded-Proto標題,否則您的Rails服務器將會看到protocol=HTTP。這會導致您的x_y_z_url幫助人員返回http://...而不是https://...

例如,在NGINX:

proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header X-Forwarded-Proto $scheme;