Nginx: как отменить прокси-сервер с внешнего запроса на конкретный URL-адрес localhost

На сервере у меня есть приложение, которое отвечает определенным URL-адресом (http://localhost:8080/bookList). Я хочу, чтобы конкретный URL-адрес этого сервера был проксирован nginx из внешнего запроса.

Я запускаю это приложение с помощью maven с помощью следующих команд в оболочке (сначала сборка, а затем запуск)

mvn clean install -B
mvn spring-boot:run

Когда я выполняю эту команду на сервере, приложения, работающие через оболочку, отвечают правильно;

curl http://localhost:8080/bookList

Вот моя конфигурация nginx;

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

  server {

        listen 80;
        server_name 10.10.10.10;


           location /bookList {
           proxy_pass http://localhost:8080/bookList/;
           proxy_redirect  off;
           proxy_buffer_size 128k;
           proxy_buffers 4 256k;
           proxy_busy_buffers_size 256k;


           }
    }

}

Но когда я пытаюсь использовать браузер с URL-адресом (http://10.10.10.10/bookList) из внешнего, я вижу ниже ошибка, которая является 502 Bad Gateway

введите здесь описание изображения


person Kağan Mersin    schedule 27.01.2020    source источник
comment
Измените proxy_pass http://localhost:8080/bookList/; на proxy_pass http://localhost:8080;   -  person Yogesh Badke    schedule 27.01.2020
comment
До сих пор не работает.   -  person Kağan Mersin    schedule 27.01.2020
comment
Есть записи в журнале ошибок?   -  person Richard Smith    schedule 27.01.2020
comment
Решил проблему отключением selinux.   -  person Kağan Mersin    schedule 28.01.2020


Ответы (1)


Проблема была связана с selinux и решена с помощью следующих команд;

setsebool -P httpd_can_network_connect 1
setenforce 0

Вот ссылки, которые объясняют, как изменить selinux для настройки обратного прокси-сервера nginx.

Использование NGINX и NGINX Plus с SELinux

Настройка обратных прокси с NGINX

Я предполагаю, что необходимо убедиться, что некоторые разрешения организованы как соответствующие, если используется Nginx, который принимает запросы извне.

person Kağan Mersin    schedule 28.01.2020