Nginx/прокси не работает должным образом

. Недавно я удалил apache2 для Nginx. Я пытаюсь прослушивать 88, 808 и 888 для своих сайтов и перенаправлять разные поддомены для каждого (и другого домена на другой сервер ). проблема в том, что Nginx дает плохой шлюз для всех проксируемых запросов и тайм-аут для прямого доступа по IP.

proxy conf:--> otherdomain.fr = ошибка 502, плохой шлюз

# HTTP
server {
    # Listen on ipv4
    listen 80;
    #listen [::]:80;

    server_name  ~.*.otherdomain.fr;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass "http://192.168.1.17";
    }
}

server{
    listen 80;
    server_name nextcloud.domain.me;
    location / {
        proxy_set_header Host $host;
        proxy_pass "http://127.0.0.1:888";
        proxy_redirect off;
    }
}

server{
    listen 80;
    server_name domain.me;
    location / {
        proxy_set_header Host $host;
        proxy_pass "http://127.0.0.1:808";
        proxy_redirect off;
    }
}

ex для порта 88:--> ip :88 = время ожидания

(очевидно,он включен, и пользователь nginx имеет доступ к файлам)

server {
    # Listen on ipv4
    listen 88;
  
    location / {
        root /var/www/html/tests;
    }

}

Я, очевидно, делаю что-то не так, но я не могу понять, что, если бы вы могли помочь мне, это было бы невероятно. Заранее спасибо!

РЕДАКТИРОВАТЬ:

netstat -tulpen | grep -E '8.?8'

tcp 0 0 127.0.0.1 :10028 0.0.0.0:*
LISTEN 0 28186 1929/мастер tcp 0 0 0.0.0.0 :80 0.0.0.0 :*ПРОСЛУШИВАТЬ 0 91603 8801/nginx :master TCP 0 0 127.0.0.1 :12340
0.0.0.0 :*LISTEN 0 25868 734/dovecot tcp 0 0 127.0.0.1 :631 0.0.0.0:*
LISTEN 0 19881 497/cupsd tcp 0 0 0.0.0.0 :88 0.0.0.0 :*ПРОСЛУШИВАТЬ 0 75033 8801/nginx :master TCP 0 0 0.0.0.0 :888
0.0.0.0 :*LISTEN 0 75032 8801/nginx :master tcp 0 0 0.0.0.0 :443 0.0.0.0:*
LISTEN 0 75030 8801/nginx :master tcp 0
0 127.0.0.1 :10025 0.0.0.0 :*ПРОСЛУШИВАТЬ 0
28182 1929/мастер udp6 0 0 :::32885
:::*113 21172
482/avahi -демон :r"""

0
задан 3 November 2021 в 18:31
1 ответ

Вам не нужны кавычки вокруг целевого URL-адреса proxy_pass.

Основная проблема заключается в server_name ~.*.otherdomain.frи в том, что вы используете proxy_set_header Host $host.

В этом случае кажется, что ваше регулярное выражение для имя_сервераневерно и воспринимается как строка. Затем эта строка появляется в переменной $host.

Вместо этого вам следует попробовать

server_name *.otherdomain.fr;

.Если это не сработает, используйте

proxy_set_header Host $http_host;

Который передает дальше заголовок HTTP Host вместо содержимого переменной $host.

1
ответ дан 5 November 2021 в 07:02

Теги

Похожие вопросы