Я хотел использовать nginx в качестве обратного прокси, но я почему-то не могу заставить его работать. Мой конфиг для целей тестирования выглядит следующим образом:

 events {
    worker_connections  1024;
}


http {

    server {
        listen       81;

        location / {
            proxy_pass http://localhost:8080;
        }
    }

    server {
        listen       80;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name myname.eu;

        location / {
            proxy_pass http://localhost:8080;
        }
    }
}

Если я перейду на localhost:80, он переходит на страницу приветствия nginx, как и ожидалось. Если я перехожу на localhost:81, он пересылается в какой-то сервис, который у меня там работает. Но если я зайду на myname.eu, я получу ERR_CONNECTION_REFUSED. Проблема в том, что я не могу найти причину, по которой соединение заблокировано. Я включил ведение журнала брандмауэра в Windows, но он не отображается как заблокированный.

Кроме того, если я запускаю веб-сайт через IIS через порт 80 под myname.eu, я могу подключиться, поэтому брандмауэр маршрутизатора настроен правильно.

Любые идеи, где блок может возникнуть?

1 ответ1

0

Я не знал, что nginx нужно отдельное отображение для ipv6. Т.е. дополнительно / вместо

listen       80;

вам нужно

listen      [::]:80;

чтобы не было запросов отказано.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .