Настройка 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 80

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:

  1. Проверьте имя службы Apache с помощью Win+R+services.msc+введите (если это не ApacheX.Y, он должен иметь имя программного обеспечения, которое вы используете с apache, например: "wampapache64");
  2. начать командная строка как администратор (используя Win+R+cmd+введите не хватает);
  3. перейдите в каталог Apache, например:cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. проверьте, если файл конфигурации в порядке с: httpd.exe -n "YourServiceName" -t (замените имя службы на то, которое вы нашли на шаге 1);
  5. убедитесь, что служба остановлена: httpd.exe -k stop -n "YourServiceName"
  6. начните с: httpd.exe -k start -n "YourServiceName"
  7. если он начинается хорошо, Проблема больше не существует, но если вы получить:

    AH00072: make_sock: не удалось привязать к адресу IP: PORT_NUMBER

    AH00451: нет доступных розеток для прослушивания, выключение

    если номер порта не тот, который вы хотели использовать, то откройте файл конфигурации Apache (например C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf открыть с помощью редактора кода или WordPad, но не Блокнот - он не читает новые строки правильно) и замените номер на строке, которая начинается с Listen с номером порт, который вы хотите, сохранить его и повторите шаг 6. Если это тот, который вы хотели использовать, то продолжайте:

  8. Проверьте PID процесса, который использует этот порт с Win+R+resmon+введите, нажмите кнопку сеть tab, а затем на порты вкладка;
  9. убить его с: taskkill /pid NUMBER /f (/f силы);
  10. Проверьте resmon чтобы подтвердить, что порт свободен сейчас и повторить шаг 6.

это гарантирует, что служба Apache была запущена правильно, конфигурация на файл конфигурации виртуальных хостов, как упоминал сарул (например: C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf) необходимо, если вы устанавливаете свой путь к файлам там и меняете порт. Если вы измените его снова, не забудьте перезапустить службу:httpd.exe -k restart -n "YourServiceName".

для сервера FC22

cd / etc / httpd / conf редактировать файл httpd.conf [enter]

изменить: Слушать 80 к: Слушайте whatevernumber

сохраните файл

systemctl перезапустить httpd.обслуживание [введите] при необходимости откройте whatevernumber в вашем маршрутизаторе / брандмауэре