Назад | Перейти на главную страницу

nginx не обслуживает запросы на внешний IP-адрес

У меня nginx работает на порт 81. Я могу использовать telnet, используя telnet 127.0.0.1 81 и все нормально.

Но когда я пытаюсь подключиться к своей машине по Telnet с моего Mac (внешний IP-адрес), я просто получаю эту ошибку:

telnet: connect to address 109.123.x.x: Connection refused
telnet: Unable to connect to remote host

Вот мой файл / etc / nginx / sites-available / default:

server {
        listen   81; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name 109.123.x.x;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.html;
        }
        ...

Я открыл брандмауэр Ubuntu (ufw), чтобы разрешить порт 81.

Я полностью застрял.

У кого-нибудь есть идеи?

У вас есть имя сервера как

server_name 109.123.x.x;

Это не верно !!!!!

Укажите любое имя, а не число, например

server_name mywebsite.home;

и поместите mywebsite.home в качестве IP-адреса сервера nginx в файл вашего хоста (/ etc / hosts), то есть на вашем Mac, как в формате

109.123.X.X mywebsite.home

где X.X заменяется числами

или

Если вы хотите обслужить все запросы, просто укажите

server_name _;

Если это не решит проблему, проверьте ниже

Это либо ваш брандмауэр, то есть iptables, блокирующий ваш трафик, либо ваш nginx слушает только на localhost, то есть 127.0.0.1

Отключить брандмауэр

sudo ufw disable

Проверьте адрес прослушивания для порта 81

sudo netstat -tulpn

У меня была такая же проблема несколько месяцев назад, когда я пытался запустить ngnix в своей системе Ubuntu и получить доступ к службам из другой системы Windows. Мне не удалось получить доступ к какой-либо службе порта, например http://127.0.0.1/8000 но через некоторое время я исправил это, отключив брандмауэр в своей системе Ubuntu.

Команда отключения межсетевого экрана:

sudo ufw disable

Вы также можете сначала проверить состояние вашего брандмауэра:

sudo ufw status

Советы, которые мне помогли: A.) Перенаправление порта B.) Установите общедоступный IP-адрес как server_name Эти шаги сработали для меня, особенно совет A.)