我通过负载均衡器获取 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 请求,我应该添加什么?