powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Прокси в nginx
7 сообщений из 7, страница 1 из 1
Прокси в nginx
    #39881704
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Имеется сервер nginx/1.16.1. nginx.conf

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
user www-data;
worker_processes 1;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;
}

http {
	##
	# Basic Settings
	##
	sendfile on;

	keepalive_timeout 65;
	types_hash_max_size 2048;
	
        include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;
	
	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}



В каталоге sites-enabled и sites-available лежит файл suok.nginx.conf.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
server {
        listen 80;
        access_log /var/log/nginx/suok.access.log;
        error_log /var/log/nginx/suok.error.log;

    proxy_send_timeout    600;
    proxy_connect_timeout    600;
    proxy_read_timeout    600;
    send_timeout        600;


    location / {
        gzip_static on;
        index   index.html;
        root /usr/share/nginx/html;
        try_files $uri $uri/ @index;
    }

    location @index {
        root /usr/share/nginx/html;
        add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        expires -1;
        try_files /index.html =404;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:8080/api/;
        proxy_set_header Host $host;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
	
	location /j_spring_security_check {
        proxy_pass http://127.0.0.1:8080/j_spring_security_check;
        proxy_set_header Host $host;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
	
	location /logout {
        proxy_pass http://127.0.0.1:8080/logout;
        proxy_set_header Host $host;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

}



Если я обращаюсь к http://localhost/j_spring_security_check (Tomcat), то получаю 404 ошибку, т.е. прокси не работает. В случае прямого обращения к Tomcat через curl HTTP status code 200.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
curl -X POST "http://127.0.0.1:8080/j_spring_security_check" -F "username=administrator" -F "password=1"  -v
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
> POST /j_spring_security_check HTTP/1.1
> Host: 127.0.0.1:8080
> User-Agent: curl/7.58.0
> Accept: */*
> Content-Length: 254
> Content-Type: multipart/form-data; boundary=------------------------8c545fb8770f70e2
> 
< HTTP/1.1 200 OK
< Date: Fri, 25 Oct 2019 14:27:40 GMT
< Set-Cookie: JSESSIONID=node01rg6yex3rw6hk1eo7oalu5ztab7.node0;Path=/
< Expires: Thu, 01 Jan 1970 00:00:00 GMT
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: DENY
< Content-Length: 0
< 
* Connection #0 to host 127.0.0.1 left intact



Файл /var/log/nginx/suok.access.log создается, поэтому мой конфиг с проксированием учитывается сервером.

Вопрос, как заставить nginx все-таки проксировать вызовы?
...
Рейтинг: 0 / 0
Прокси в nginx
    #39881772
Фотография OoCc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щиче,

что говорит

Код: sql
1.
getsebool httpd_can_network_connect
...
Рейтинг: 0 / 0
Прокси в nginx
    #39881783
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OoCcЩиче,

что говорит

Код: sql
1.
getsebool httpd_can_network_connect



getsebool: SELinux is disabled
...
Рейтинг: 0 / 0
Прокси в nginx
    #39881840
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nginx -V 2>&1 | tr -- - '\n' | grep module
и проверить что в списке модулей будет что-нибудь в духе ngx_http_proxy_module. То что конфиг подтягивается еще не означает, что необходимый для проксирования модуль есть в ниличии
...
Рейтинг: 0 / 0
Прокси в nginx
    #39882062
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЩичеВ каталоге sites-enabled и sites-available лежит файл suok.nginx.conf.
Код: sql
1.
2.
server {
        listen 80;



запросы просто не попадают в этот виртуальный сервер. В том же каталоге рядом лежит файл default, в котором тоже написано listen 80, а по алфавиту тот сервер сортируется первым. В него запросы и уходят, в этом легко убедится по файлу suok.access.log, в котором нет jобращений к j_spring_blahblal и пр.

Либо вынести на отдельное имя, либо стереть файл (симлинк) default из sites-enabled, либо в свой suok.nginx.conf после цифры 80 в listen дописать default;

PS надеюсь это не СУОК c АЭС, иначе слишком пугающе.

bga83То что конфиг подтягивается еще не означает, что необходимый для проксирования модуль есть в ниличии
Если бы модуля не было, то nginx бы выругался на директивы proxy_*
...
Рейтинг: 0 / 0
Прокси в nginx
    #39882134
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мутагенbga83То что конфиг подтягивается еще не означает, что необходимый для проксирования модуль есть в ниличии
Если бы модуля не было, то nginx бы выругался на директивы proxy_*не факт. Я конечно не большой спец по nginx, но у самого несколько месяцев назад был аналогичный кейс и проблема была в отсутсвующем модуле.
А директивы proxy* могут и steam модуля распознаться
...
Рейтинг: 0 / 0
Прокси в nginx
    #39882199
Фотография Щиче
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось.

Я убрал файл default, но suok не сработал. Тогда я просто дополнил default данными из suok. Непонятно почему не работает дополнительный конфиг, если в nginx.conf явно стоит указание включить, но сейчас можно пренебречь.

Спасибо за консультации.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Прокси в nginx
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]