Настройте 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.д/к 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
после того, как вы перейдете на ваш виртуальный файл 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
+ Enter (если это не ApacheX.Y, он должен иметь имя программного обеспечения, которое вы используете с apache, например: "wampapache64"); - начать командная строка как администратор (используя Win+R+
cmd
+ Enter не хватает); - перейдите в каталог 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
+ Enter, нажмите кнопку сеть tab, а затем на порты subtab; - убить его с:
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"
.
для сервера FC22
компакт-диск /и т. д./httpd/conf файл редактировать файл httpd.conf [enter]
изменить: Слушать 80 к: Слушайте whatevernumber
сохраните файл
systemctl перезапустить httpd.сервис [enter] при необходимости откройте whatevernumber в маршрутизаторе / брандмауэре