2010-10-15 29 views
75

Uso el servidor de centOS. Quiero configurar apache para escuchar en el puerto 8079. Agregué la directiva LISTEN 8079 en httpd.conf.
Abrí el puerto 8079 en iptables y reinicié iptables. Incluso paré el servicio de iptables.Configurar Apache para escuchar en un puerto que no sea 80

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

Si intento acceder o http://localhost:8079http://myserver.com:8079 de esa máquina, puedo acceder a esa página. PERO desde cualquier otra máquina no puedo acceder al sitio en ningún puerto que no sea 80. En el puerto 80, funciona. En el puerto 8079 no.

¿Qué más debo configurar?

Respuesta

19

Era un problema de firewall. Había un firewall de hardware que bloqueaba el acceso a casi todos los puertos. (Desactivando software firewall/SELinux bla bla no tuvo ningún efecto)

Luego escaneé los puertos abiertos y usé el puerto que estaba abierto.

Si se enfrentan el mismo problema, ejecute el siguiente comando

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000 

Se explorará para todos los puertos abiertos en su sistema. Cualquier puerto que esté abierto se puede acceder desde afuera.

Ref:. http://www.go2linux.org/which_service_or_program_is_listening_on_port

+0

netstat -anp | grep apache2 (Se podía ver el puerto de escucha y PID de esto si se está ejecutando.Ubuntu) – ImranNaqvi

+0

Mi proveedor de servicios en la nube tenía un servidor de seguridad en la parte superior que estaba bloqueando el puerto. Verifique los firewalls ubicados en otro lugar que no sea en el servidor de destino. – Yamada

66

Abra el archivo httpd.conf en su editor de texto. Encuentra esta línea:

Listen 80 

y cambiarlo

Listen 8079 

Después del cambio, guardarlo y reiniciar Apache.

+2

sí, pero mencioné en la primera línea que ya lo he intentado "Agregué la directiva LISTEN 8079 en httpd.conf": (( –

+0

) Oh, sí, no lo vi. ¿Puedes publicar archivos httpd.conf en cualquier parte ? Y está usando software de terceros Wamp, Xampp, Appserv? – ismailperim

+0

puede obtener httpd.conf aquí http://www.fileuploading.net/860467 nada como WAMP, Xampp, Appserv. Todo lo que he hecho es compilar apache, tomcat y jk conector desde la fuente y haciendo todo lo posible para que funcionen juntos. –

97

En /etc/apache2/ports.conf, cambie el puerto como

Listen 8079 

A continuación, vaya a /etc/apache2/sites-enabled/000-default.conf

Y cambie la primera línea como

<VirtualHost *: 8079> 

Ahora reinicie

sudo service apache2 restart 

Apache ahora se escucha en el puerto 8079 y redirigir a/var/www/html

+0

No funciona para mí ... ¿Alguna otra idea? – Tomer

+0

¿recibe algún mensaje de error? –

+0

No, solo el mensaje molesto "Esta página web no está disponible". Solo para aclarar, el puerto 80 funciona perfectamente. Cambiar tanto VirtualHost como Listen no me lo soluciona. (AWS ubuntu). Por cierto, la razón por la que necesito escuchar un puerto diferente es porque también configuré nginx para escuchar 80. – Tomer

1

Para el servidor FC22

cd/etc/httpd/conf editar httpd.conf [ enter]

Cambio: Escuchar 80 a: Escuchar whatevernumber

Guarde el archivo

systemctl restart httpd.servicio de [enter] , si es necesario, whatevernumber abiertos en el router/firewall

3

Esto es trabajo para mí en Centos

Primero: en el archivo /etc/httpd/conf/httpd.conf

añadir

Listen 8079 

después

Listen 80 

Este hasta su servidor para escuchar el puerto 8079

Segundo: ir a su host virtual por ej. /etc/httpd/conf.d/vhost.conf

y añadir este código a continuación

<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> 

Esto significa que cuando usted vaya a su www.example.com:8079 redirigir a

/var/www/html/api_folder

Pero primero se necesita para reiniciar el servicio

sudo service httpd restart

2

Si está utilizando Apache on Windows:

  1. Compruebe el nombre del servicio de Apache con Win +R + + services.mscIntroduzca (si no es ApacheX.Y, debe tener el nombre del software que está utilizando con apache, por ejemplo: "wampapache64");
  2. Iniciar una command prompt as Administrator (usando Win +R + + cmdIntroduzca no es suficiente);
  3. Cambie al directorio de Apache, p.: cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. Compruebe si el archivo de configuración es correcto con: httpd.exe -n "YourServiceName" -t (reemplace el nombre del servicio por el que encontró en el paso 1);
  5. Asegúrese de que el servicio está detenido: httpd.exe -k stop -n "YourServiceName"
  6. iniciarlo con: httpd.exe -k start -n "YourServiceName"
  7. Si empieza bien, el problema ya no está allí, pero si usted consigue:

    AH00072: make_sock : no se pudo enlazar con la dirección IP: PORT_NUMBER

    AH00451: no hay socket de escucha disponibles, el cierre de

    Si el número de puerto no es el que desea utilizar, abra el archivo de configuración de Apache (p. C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf abierto con un editor de código o wordpad, pero no bloc de notas - no lee las nuevas líneas correctamente) y reemplace el número en la línea que comienza por Listen con el número del puerto que desee, guárdelo y repita el paso 6. Si se trata de la persona que desea utilizar, y luego continuar:

  8. Comprobar el PID del proceso que está utilizando ese puerto con Win + R + resmon + Introduzca, haga clic en Red ficha y luego en Puertos subpestaña;
  9. Mátalo con: taskkill /pid NUMBER /f (/f lo fuerza);
  10. Volver a revisar resmon para confirmar que el puerto está libre ahora y repita el paso 6.

Esto asegura que el servicio de Apache se inició correctamente, la configuración en virtual hosts config file as sarul mentioned (por ejemplo: C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf) es necesario si va a configurar sus archivos camino hacia allí y cambiando el puerto también. Si lo cambia nuevamente, recuerde reiniciar el servicio: httpd.exe -k restart -n "YourServiceName".

Cuestiones relacionadas