Рейтинг:0

Nginx не прослушивает локальный адрес

флаг pk

Когда я захожу на локальный хост на своем компьютере, я могу подключиться, но когда я перехожу на общедоступный IP-адрес моего маршрутизатора на хост-компьютере, время ожидания страницы истекает. Он работает на моем телефоне, и я могу видеть веб-сайт.

Вот моя конфигурация nginx: (я заменил адрес прослушивания на ***):

сервер {
                слушать 80;
                имя сервера ***;
                индекс index.html index.php;

                журнал доступа /var/log/nginx/localhost.access_log основной;
                error_log /var/log/nginx/localhost.error_log информация;

                корень /var/www/localhost/htdocs;
                расположение ~ \.php$ {
                        try_files $uri = 404;
                        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                        включить fastcgi_params;
                }

                слушать 443 ssl; # под управлением Certbot
                ssl_certificate /etc/letsencrypt/live/***/fullchain.pem; # под управлением Certbot
                ssl_certificate_key /etc/letsencrypt/live/***/privkey.pem; # под управлением Certbot
                включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
                ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
                если ($схема != "https") {
                    вернуть 301 https://$host$request_uri;
                } # управляется Certbot
                #возврат 404; # под управлением Certbot
}
флаг br
Вы правильно настроили роутер?
RadoslavL avatar
флаг pk
Да, я настроил переадресацию портов, и она работает правильно, но я не могу получить доступ к своему серверу на своем хост-компьютере, используя общедоступный IP-адрес. Соединение с локальным хостом работает так же, как и подключение с другого устройства.
флаг br
Отвечает ли это на ваш вопрос? [Петля на перенаправленный общедоступный IP-адрес из локальной сети — шпилька NAT] (https://serverfault.com/questions/55611/loopback-to-forwarded-public-ip-address-from-local-network-hairpin-nat)
Рейтинг:0
флаг in

Отсутствует некоторая информация, чтобы быть уверенным, что решает вашу проблему.

Я предполагаю, что вам нужно установить «сервер по умолчанию», чтобы получить что-то с локального хоста. Параметр servername указывает nginx прослушивать только запросы, идущие на настроенное IP-имя. Обычно к localhost не обращаются по имени сервера.

слушать 80 default_server;

Из руководства по nginx (http://nginx.org/en/docs/http/request_processing.html):

В этой конфигурации nginx проверяет только поле заголовка запроса. «Хост», чтобы определить, на какой сервер должен быть направлен запрос. Если его значение не соответствует ни одному имени сервера, или запрос не вообще не содержать это поле заголовка, тогда nginx направит запрос на сервер по умолчанию для этого порта.

RadoslavL avatar
флаг pk
Предоставленное вами решение должно работать, но даже когда я подключаюсь к странице, используя имя хоста из server_name, оно не работает. Я могу предоставить больше информации.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.