知道为什么Nginx配置会导致无限重定向吗?
listen 80;
server_name site.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name site.example.com;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_certificate /etc/letsencrypt/live/site.example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/site.example.com/privkey.pem; # managed by Certbot
access_log /var/log/nginx/site.example.com.log;
location / {
proxy_redirect off;
proxy_set_header Host $host;
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;
proxy_pass http://127.0.0.1:8888;
}
location ~ /.well-known/acme-challenge {
root /var/www/site.example.com/;
allow all;
}
}
这是一个数字海洋液滴,目的是运行位于127。0。0。1:8888上的弹性同步。当我尝试访问该网站时,它会一次又一次地重定向到https://site。example。com/。据我所知,第一个服务器块中的返回301是这里唯一可以重定向的东西,但我仍然会遇到这个问题,即使我注释掉这一行。
我已经仔细研究了关于同一主题的多个SO问题,但似乎没有一个解决方案适用于这里。我没有使用CloudFlare。我哪里做错了?今天早些时候一切正常,除了证书过期了。同步仍然可以正常工作,只是Nginx设置访问web GUI不起作用。
哈,当然,在我第一次用头撞墙很长一段时间后,我在发布问题几分钟后想到了答案。
这是在弹性同步配置文件中:
"webui" :
{
"force_https": true,
"listen" : "127.0.0.1:8888"
}
我设置force_https为false并重启rslsync,然后它工作。