У меня очень простая NGINX конфигурация для двух конечных точек, для двух разных приложений Spring Boot.
server {
listen 80;
listen [::]:80;
server_name somedomain.io;
location ^~ /search {
proxy_pass http://localhost:8081/search$is_args$args;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
location = /contact_form {
proxy_pass http://localhost:7080/contact_form;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
}
Местоположение search
для одного приложения Spring (не работает) и местоположение contact_form
для другого (работает нормально).
Когда я пытаюсь нажать search
, он не передает запрос моему приложению и вместо этого выдает следующий ответ.
<html>
<head>
<title>502 Bad Gateway</title>
</head>
<body bgcolor="white">
<center>
<h1>502 Bad Gateway</h1>
</center>
<hr>
<center>nginx/1.14.1</center>
</body>
</html>
URL Я пытаюсь нажать: http://somedomain.io/search?area=London
.
В журнале ошибок выводится следующее.
2020/04/04 18:33:27 [error] 31578 # 0: * 2801 не определен определитель для разрешения localhost, клиент: 90.248.234.209, сервер: somedomain.io, запрос: «GET / search? Area = London HTTP / 1.1», хост: «somedomain.io»
Оба приложения работают нормально при работе в локальной среде.
Есть идеи, где может быть проблема?