5 votos

Configuración de Nginx robots.txt

Parece que no puedo configurar correctamente nginx para devolver el contenido de robots.txt. Idealmente, no necesito el archivo y sólo quiero servir el contenido de texto configurado directamente en nginx. Esta es mi configuración:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location = /robots.txt {
        #return 200 "User-agent: *\nDisallow: /";
        #alias /media/ws/crx-apps/eap/welcome-content/robots.txt;
        alias /usr/share/nginx/html/dir/robots.txt ;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

Ninguna de las cosas en = /robots.txt ubicación funciona y no entiendo por qué. Accediendo a http://localhost/robots.txt da un 404. Sin embargo, http://localhost/index.html se sirve correctamente.

Tenga en cuenta que no he cambiado ninguna configuración por defecto de nginx obtenida de apt-get install nginx aparte de añadir una nueva ubicación (para pruebas).

3voto

Sir.pOpE Puntos 48

En primer lugar, creo que el problema en su configuración es la expresión regular utilizada para la coincidencia. Sería muy útil escribir una declaración como esta en su configuración con el fin de evitar posibles errores con la coincidencia de patrones:

    location = /robots.txt {
    alias /usr/share/nginx/html/dir/robots.txt;
} 

En segundo lugar, también debes comprobar los permisos y el propietario efectivo de /usr/share/nginx/html/dir/robots.txt

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X