【发布时间】:2017-08-25 04:59:34
【问题描述】:
我们有一个使用 nginx 的反向代理服务器设置。该服务器会将访问者重定向到访问他们的路径的相应服务器。现在,我想设置 nginx.conf 以强制将它们重定向到 https。问题是我收到“重定向过多”错误。我尝试使用重写并添加“proxy_set_header X-Forwarded-Proto https;”但它都不起作用。有没有办法我们可以做到这一点?我们已经在 cloudflare 上设置了一个 ssl 证书,所以我们不需要在配置中添加它。
下面是当前nginx的配置设置。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
root /usr/share/nginx/html;
if ($http_x_forwarded_proto = "http") {
rewrite ^/(.*)$ https://development-link/$1 permanent;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://development-elb1;
proxy_set_header X-Forwarded-Proto https;
}
location /en {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://development-elb2;
proxy_set_header X-Forwarded-Proto https;
}
【问题讨论】:
标签: ssl nginx proxy server reverse-proxy