есть сервис скажем на порту 8082, есть какая-то веб-страничка. Я хочу, чтобы при отправке запроса на / nginx выдавал в ответ веб-страничку, простой index.html, но запрос по пути вида /.+ проксировал на сервис на порту 8082.
Конфиг сервера
server {
listen 8083;
location / {
root /www;
}
location ~ ^/.+$ {
proxy_pass http://localhost:8082;
proxy_http_version 1.1;
proxy_set_header Host $host:8082;
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_set_header Access-Control-Allow-Origin *;
}
}
при попытке гета на / почему-то пытается вернуть
127.0.0.1:8082/index.html, хотя ясно указано, что после / должен быть хотя бы один символ. Если вместо ~ в начале регекса указать ^~, что, как я понял, должно указывать, что путь должен именно начинаться с указанного шаблона, то nginx напротив отказывается проксировать что бы то ни было и пытается искать указанную после / строку в /www/.