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

Невозможно настроить HTTP-сервер, чтобы внешние клиенты могли получить доступ

Я использую Red Hat Enterprise Server 6. Он имеет сервер Apache (httpd) устанавливается и запускается при загрузке по умолчанию. Мои файлы документов хранятся в /var/www/html/web и я могу получить к ним доступ на моем компьютере через http://localhost/web. Я отправил 80 и 443 порты на локальный IP-адрес моего сервера, как сказано в этом статья, но, несмотря на это перенаправление, я не могу получить доступ к своему веб-серверу через Интернет, набрав глобальный IP-адрес своего маршрутизатора в адресной строке браузера других компьютеров с подключением к Интернету, которые не находятся в моей локальной сети.

я использую этот веб-сайт для проверки 80th порт, и результат:

Ошибка: мне не удалось увидеть вашу службу на порту (80). Причина: истекло время ожидания соединения.

Я добавил (и переслал) Listen 413 и Listen 6666 порты в /etc/httpd/conf/httpd.conf Файл конфигурации Apache, чтобы узнать, не блокирует ли мой интернет-провайдер порт 80, но безуспешно.

Хотя я сделал то же самое (переадресация портов) на 22-й порт для SSH, и он работал (и работает) глобально.

Когда вы выполняете перенаправление портов на своем пограничном маршрутизаторе, вам не нужно добавлять директивы прослушивания на свой сервер apache.

Чтобы проверить, блокирует ли ваш интернет-провайдер порт 80, вам необходимо сделать следующее:

  • Настройте переадресацию портов в вашем маршрутизаторе для другого порта, например. порт 8080 (или что-то еще) или даже порт 22, если известно, что он работает. Перенаправьте на порт 80 вашего apache. На вашем маршрутизаторе может быть несколько определений переадресации портов, все они указывают на один и тот же порт на вашем сервере. Вам не нужно изменять какие-либо директивы прослушивания на вашем сервере.

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

Итак, если, например, ваш внешний IP-адрес 84.84.84.85, а ваш внутренний сервер имеет адрес 10.10.10.10, вы можете перенаправить следующий порт на своем маршрутизаторе:

port 8080 to 10.10.10.10:80

А затем на каком-нибудь компьютере вне вашей сети запустите браузер и введите:

http://84.84.84.85:8080

Ваш брандмауэр перенаправит это на 10.10.10.10:80. Таким образом, вам не нужно добавлять на свой сервер какой-либо "listen 8080". Вы можете добавить переадресацию на другой порт или даже диапазон (на некоторых маршрутизаторах), чтобы иметь возможность тестировать больше номеров портов.

Вы можете протестировать это с разными портами, пока не найдете тот, который работает. Нет закона, который гласит, что веб-сервер должен отвечать на 80-м порту. На самом деле я однажды перенаправил ftp-порт на маршрутизаторе на ssh-сервер, чтобы обойти ssh-блок в корпоративном брандмауэре ...