2010-10-15 2 views
75

Я использую centos-сервер. Я хочу настроить apache для прослушивания на порту 8079. Я добавил LISTEN 8079 директиву в httpd.conf.
Я открыл порт 8079 в iptables и перезапустил iptables. Я даже остановил сервис iptables.Настройка apache для прослушивания на порту, отличном от 80

"netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN" 

Если я пытаюсь получить доступ к http://localhost:8079 или http://myserver.com:8079 с этой машиной, я могу получить доступ к этой странице. НО с любой другой машины я не могу получить доступ к сайту на любом порту, отличном от 80. На порту 80 он работает. На порту 8079 это не так.

Что еще мне нужно настроить?

ответ

19

Это проблема с брандмауэром. Был аппаратный брандмауэр, который блокировал доступ практически ко всем портам. (Отключение брандмауэра программного обеспечения/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

+0

netstat -anp | grep apache2 (Вы можете видеть порт прослушивания и PID, если он запущен. Ubuntu) – ImranNaqvi

+0

У моего поставщика облачных услуг был брандмауэр сверху, который блокировал порт. Проверьте брандмауэры, расположенные иначе, чем на целевом сервере. – Yamada

66

Откройте файл httpd.conf в текстовом редакторе. Найти эту строку:

Listen 80 

и изменить его

Listen 8079 

После изменения, сохраните его и перезапустите Apache.

+2

Да, но я упомянул в первой строке, что я уже пробовал это «Я добавил директиву LISTEN 8079 в httpd.conf»: (( –

+0

Oh sory. Я этого не видел. Можете ли вы разместить файл httpd.conf где угодно? И вы используете стороннее ПО Wamp, Xampp, Appserv? – ismailperim

+0

вы можете получить httpd.conf здесь http://www.fileuploading.net/860467 ничего подобного WAMP, Xampp, Appserv. Все, что я сделал, это компиляция apache, tomcat и jk-коннектора из источника и изо всех сил, чтобы они работали вместе. –

97

В /etc/apache2/ports.conf, измените порт в качестве

Listen 8079 

Затем перейдите к /etc/apache2/sites-enabled/000-default.conf

И изменить первую строку как

<VirtualHost *: 8079> 

Теперь перезапустите

sudo service apache2 restart 

Apache теперь будет слушать порт 8079 и перенаправлять/вар/WWW/HTML

+0

Не работает для меня ... Любые другие мысли? – Tomer

+0

Вы получаете сообщения об ошибках? –

+0

Нет, просто сообщение «Эта страница недоступна», раздражающее сообщение. Просто, чтобы прояснить, порт 80 работает отлично. Изменение и VirtualHost, и Listen не решает его для меня. (AWS ubuntu). Кстати, мне нужно, чтобы он прослушивал другой порт, потому что я также настроил nginx для прослушивания 80. – Tomer

1

Для FC22 сервера

кд/и т.д./HTTPD/конф редактировать httpd.conf [войти]

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

Сохранить файл

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

3

Это работает для меня на Centos

Первое: в файле /etc/httpd/conf/httpd.conf

добавить

Listen 8079 

после

Listen 80 

Это до вашего сервера для прослушивания порта 8079

Второе: перейти на свой виртуальный хост для бывших. /etc/httpd/conf.d/vhost.conf

и добавьте этот код ниже

<VirtualHost *:8079> 
    DocumentRoot /var/www/html/api_folder 
    ServerName example.com 
    ServerAlias www.example.com 
    ServerAdmin [email protected] 
    ErrorLog logs/www.example.com-error_log 
    CustomLog logs/www.example.com-access_log common 
</VirtualHost> 

Это значит, когда вы идете в www.example.com:8079 перенаправлять

/вар/WWW/HTML/api_folder

Но вы должны сначала перезапустить службу

sudo service httpd restart

2

Если вы используете Apache on Windows:

  1. Проверьте имя службы Apache с Win + R + services.msc + Введите (если это не ApacheX.Y, он должен иметь имя программного обеспечения, которое вы используете с apache, например: «wampapache64»);
  2. Запустите command prompt as Administrator (используя Win + R + cmd + Enter не хватает);
  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 открыть с помощью редактора кода или текстового блока, но не блокнот - он не читает новые строки должным образом) и замените номер на линии, который начинается с номера Listen с номером нужного порта, сохраните его и повторите шаг 6. Если это тот, который вы хотите использовать, а затем продолжить:

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

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