Настройка apache для прослушивания на порту, отличном от 80
Я использую сервер centOS. Я хочу настроить apache для прослушивания на порту 8079.
Я добавил LISTEN 8079 директива в httpd.conf
.
Я открыл порт 8079 в iptables и перезапустил iptables. Я даже остановил сервис iptables.
"netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN"
если я попытаюсь получить доступ http://localhost:8079
или http://myserver.com:8079
С этой машины, я могу получить доступ к этой странице. Но с любой другой машины я не могу получить доступ к узлу на порт, отличный от 80. На порт 80, он работает. Порт 8079 это не так.
что еще нужно ли мне настраивать?
7 ответов:
на
/etc/apache2/ports.conf
измените порт, какListen 8079
затем перейдите в /etc/apache2/sites-enabled / 000-default.conf
и изменить первую строку как
<VirtualHost *: 8079>
теперь перезапустите
sudo service apache2 restart
теперь Apache будет слушать порт 8079 и перенаправлять на /var / www / html
открыть httpd.файл Conf в текстовом редакторе. Найдите эту строку:
Listen 80
и изменить его
Listen 8079
после изменения сохраните его и перезапустите apache.
Это была проблема брандмауэра. Был аппаратный брандмауэр, который блокировал доступ почти ко всем портам. (Отключение программного брандмауэра / SELinux bla bla не имело никакого эффекта)
затем я просмотрел открытые порты и использовал открытый порт.
Если вы столкнулись с той же проблемой, выполните следующую команду
sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000
он будет сканировать все открытые порты в вашей системе. Любой открытый порт может быть доступен из внешний.
Ref.: http://www.go2linux.org/which_service_or_program_is_listening_on_port
это работает для меня на Centos
первый: в файле / etc/httpd/conf / httpd.conf
добавить
Listen 8079
после
Listen 80
это до вашего сервера, чтобы слушать порт 8079
второй: перейти к виртуальному хосту для ex. / etc/httpd / conf.d / vhost.conf
и добавьте следующий код ниже
<VirtualHost *:8079> DocumentRoot /var/www/html/api_folder ServerName example.com ServerAlias www.example.com ServerAdmin root@example.com ErrorLog logs/www.example.com-error_log CustomLog logs/www.example.com-access_log common </VirtualHost>
Это означает, когда вы идете к своему
www.example.com:8079
перенаправление на/var / www / html / api_folder
но вам нужно сначала перезапустить службу
sudo service httpd restart
Если вам нужен порт прослушивания apache, отличный от 80, вы должны добавить в следующий файл под ubuntu
" /etc/apache2/ports.conf"
список прослушиваемых портов
Listen 80 Listen 81 Listen 82
после того, как вы перейдете на свой файл Virtual hosts conf an define next
<VirtualHost *:80> #...v host 1 </VirtualHost> <VirtualHost *:81> #...host 2 </VirtualHost> <VirtualHost *:82> #...host 3 </VirtualHost>
если вы используете Apache на Windows:
- Проверьте имя службы Apache с помощью Win+R+
services.msc
+введите (если это не ApacheX.Y, он должен иметь имя программного обеспечения, которое вы используете с apache, например: "wampapache64");- начать командная строка как администратор (используя Win+R+
cmd
+введите не хватает);- перейдите в каталог Apache, например:
cd c:\wamp\bin\apache\apache2.4.9\bin
;- проверьте, если файл конфигурации в порядке с:
httpd.exe -n "YourServiceName" -t
(замените имя службы на то, которое вы нашли на шаге 1);- убедитесь, что служба остановлена:
httpd.exe -k stop -n "YourServiceName"
- начните с:
httpd.exe -k start -n "YourServiceName"
если он начинается хорошо, Проблема больше не существует, но если вы получить:
AH00072: make_sock: не удалось привязать к адресу IP: PORT_NUMBER
AH00451: нет доступных розеток для прослушивания, выключение
если номер порта не тот, который вы хотели использовать, то откройте файл конфигурации Apache (например
C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf
открыть с помощью редактора кода или WordPad, но не Блокнот - он не читает новые строки правильно) и замените номер на строке, которая начинается сListen
с номером порт, который вы хотите, сохранить его и повторите шаг 6. Если это тот, который вы хотели использовать, то продолжайте:- Проверьте PID процесса, который использует этот порт с Win+R+
resmon
+введите, нажмите кнопку сеть tab, а затем на порты вкладка;- убить его с:
taskkill /pid NUMBER /f
(/f
силы);- Проверьте
resmon
чтобы подтвердить, что порт свободен сейчас и повторить шаг 6.это гарантирует, что служба Apache была запущена правильно, конфигурация на файл конфигурации виртуальных хостов, как упоминал сарул (например:
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
) необходимо, если вы устанавливаете свой путь к файлам там и меняете порт. Если вы измените его снова, не забудьте перезапустить службу:httpd.exe -k restart -n "YourServiceName"
.