Espero que este sea el lugar correcto para publicar esto.
Tengo un VPS CentOS 6 que aloja varios sitios. Hay tres sitios existentes que actualmente se ejecutan perfectamente, pero ahora estoy intentando agregar un cuarto y siempre aparece el mensaje "¡Bienvenido a nginx en Fedora!" página de bienvenida cuando visito la URL (la llamaremos nginxFail.com).
Puse un archivo test.txt en /home/nginxFail/www e intenté ir a nginxFail.com/test.txt. Arrojó un 403. nginxFail.com/nosuchfile.txt y nginxFail.com/nosuchdir también arrojan 403.
Lo que ya he probado:
-Verificar la información del dominio: la información del dominio en el nuevo dominio y los otros tres dominios es exactamente la misma, incluida la información SPF. El nuevo dominio ha tenido unos 5 días para propagarse.
-Verificando httpd.conf: Esto es lo que tengo:
<VirtualHost *:80>
DocumentRoot /home/**nginxFail**/www
ServerName **nginxFail.com**
ServerName **<my server IP>**
ErrorLog /var/log/httpd/**<errorLog>**
CustomLog /var/log/httpd/access_log combined
<Directory "/home/**nginxFail**/www">
Options +Indexes FollowSymLinks +ExecCGI
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Por supuesto, las entradas en negrita corresponden a mi información real. Esta es exactamente la misma configuración que las otras entradas de este archivo que hacen que los otros tres sitios funcionen.
También aquí está el /etc/nginx/nginx/conf condensado:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;
#
# The default server
#
server {
listen 80;
server_name _;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
-Reiniciar el servidor (y /etc/init.d/httpd). Sin suerte.
-Probando con otra máquina: He leído que lo de nginx podría ser resultado de un virus o archivo host. Mis máquinas siempre están limpias (análisis de virus constantes, no confiar en los análisis de errores realizados por el navegador, jaja), y mi archivo host parece limpio. Solo por diversión, intenté ir al sitio en otra computadora e incluso en mi teléfono y obtuve la misma página de nginx.
-Google: ¡Me falló! :o, así es como aprendí sobre la limpieza del navegador.
-Verificación de permisos: en mi servidor, todos los sitios aparecen en su propia carpeta en el directorio /home/. Aquí es donde también puse la entrada del nuevo sitio. Como dije antes, los otros tres sitios funcionan bien, por lo que no es un problema de permiso con /home/, y me he asegurado de que home/nginxFail/www tenga 755 (al igual que los otros sitios en funcionamiento).
-mirando el directorio /etc/nginx/: noté que no hay ningún directorio habilitado para sitios. Vi en otra pregunta que esta podría ser la causa, pero si ese fuera el caso, ¿por qué otros 3 sitios web funcionarían bien?
-Mirando los registros: realmente no encontré nada en var/log aparte del reconocimiento de que el servidor web está recibiendo la solicitud HTTP y arrojando 403. Después de visitar el archivo test.txt mencionado anteriormente, miré el directorio de registro en busca de un cambio en las fechas de modificación para ver qué archivos mirar.
-Decirle verbalmente al sitio que deje de mostrar nginx y que muestre mi sitio: No hubo suerte.
-Husmeando en /etc/nginx: He leído que hay un directorio de sitios disponibles que debería ayudarme, pero no lo veo cuando inicio sesión como root.
Estoy un poco perdido aquí.
EDITAR: Investigué un poco más sobre el problema y parece que el culpable es un conflicto extraño con Apache y nginx.
El sitio ejecuta Apache 2.2.23 y parece que también se instaló nginx, probablemente por error. Las páginas 403 que recibo significan que Apache se activó, pero ir al dominio en sí me lleva a nginx por alguna razón. Mi pensamiento natural fue detener nginx con /etc/init.d/nginx -s stop
. Cuando hago eso y vuelvo a nginxfail.com, la página de nginx todavía se muestra. Cuando lo hago, ps -ef | grep nginx
puedo ver un proceso nginx ejecutándose incluso después de que lo detuve y, que yo sepa, no debería haber ningún script en el servidor que lo reinicie automáticamente.
Aquí es donde se pone interesante, cuando lo hago /etc/init.d/httpd stop
, TODOS los 4 sitios mueren, incluido nginxfail.com y los otros 3 sitios en funcionamiento, y cuando vuelvo a activar httpd surge la misma situación en mi primera publicación.
Miré en /etc/httpd/error_log y aparece el error Cliente denegado por la configuración del servidor: /home/nginxfolder/www/ y verifiqué los permisos para que el servidor web (estoy bastante seguro de que es Apache en este caso) parezca estar buscando en el lugar correcto.
Lo siento si esto es vago y no ilustra muy bien mi configuración. ¿Hay alguna otra información específica que pueda ayudar?