Я хочу, чтобы nginx сначала перенаправлял http на https, а затем проверял статические файлы в корневом каталоге www, если их нет, передать запрос прокси. Однако после http-> https запросы на перенаправление немедленно передаются прокси.
На том же сервере (127.0.0.1, как видно из nginx) порт 8000 у меня есть простое приложение для фляги, которое возвращает строку по запросу в "/":
...
@app.route("/")
def root():
return "Works!"
...
Работает нормально (проверено в браузере).
Nginx conf - это
server { listen 80; listen [::]:80; server_name lpch $DOMAIN www.$DOMAIN; return 301 https://$host$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name lpch $DOMAIN www.$DOMAIN; ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem; root /var/www/$DOMAIN/html; index index.html index.htm; location / { try_files $uri index.html @proxy_to_app; } location @proxy_to_app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://127.0.0.1:8000; } }
Что я делаю не так?