【发布时间】:2013-05-02 17:14:04
【问题描述】:
我通过负载均衡器获取 SSL 请求,该负载均衡器正在执行 SSL 终止并将解密的流量发送到端口 81 上的服务器。
我正在运行 Nginx,并设置了一个监听端口 81,我想告诉我的 Rails 应用这是一个 SSL 请求。
这是我的 Nginx 配置的样子:
server {
listen 81;
server_name SERVER;
root /var/www/app/current/public;
error_log /var/log/nginx/app-error.log;
access_log /var/log/nginx/app-access.log;
passenger_enabled on;
client_max_body_size 100M;
location / {
passenger_enabled on;
proxy_set_header X-FORWARDED-PROTO https;
}
}
它通过了,但 Ruby on Rails 没有检测到请求头 request.headers['X-Forwarded-Proto'],因此它将请求视为非 https。 我应该添加什么才能让 Rails 认为这是一个 SSL 请求?
【问题讨论】:
标签: ruby-on-rails ssl nginx passenger