Lighttpd regresa de curl en lugar de nginx

Lighttpd regresa de curl en lugar de nginx

He tenido problemas para poder acceder a mis sitios web alojados en mi Raspberry Pi en mi red doméstica. Todo funcionó hasta hace poco y no puedo entender qué hice para romper las cosas :( Si ejecuto curl -I sarahcorballis.comdesde Pi (es decir, desde la misma máquina en la que está alojado el servidor), o en cualquier otro lugar, obtengo:

HTTP/1.1 301 Moved Permanently
Location: https://sarahcorballis.com/
Date: Fri, 08 Jan 2021 07:45:43 GMT
Server: lighttpd

Sin embargo, si ejecuto curl -I localhost(o localhost:80), desde Pi obtengo:

HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Fri, 08 Jan 2021 07:57:05 GMT
Content-Type: text/html
Content-Length: 3801
Last-Modified: Mon, 22 Apr 2019 18:39:21 GMT
Connection: keep-alive
ETag: "5cbe0a59-ed9"
Accept-Ranges: bytes

De hecho, el sitio está alojado en nginx, por lo que esperaría verlo Server: nginx/1.14.2en todas las solicitudes. Me pregunto si Server: lighttpdes solo una pista falsa o si realmente implica algo.

La configuración de red que tengo es Internet -> enrutador proporcionado por el ISP -> ASUS RX88U -> Raspberry Pi

Tanto el enrutador ISP como el enrutador ASUS tienen reenvío de puertos 80-80 y 443-443 y los registros de ambos no muestran problemas.

Hasta ayer, incluso el curl -I localhost arrojó la respuesta lighttpd, así que creo que es algo en algún lugar de la Raspberry Pi, pero estoy desconcertado.

Aquí está el resultado de ufw status:

ERROR: Couldn't determine iptables version

Aquí está iptables-saveel resultado:

iptables-save/1.8.2 Failed to initialize nft: Protocol not supported

Entonces, ese es otro cambio con respecto a ayer. Entonces, ¿qué ha cambiado? Bueno, he pasado de estirar a destrozar.

Respuesta1

Entonces esto ya está solucionado. En caso de que alguien tenga una configuración similar y encuentre el mismo problema en el futuro, el problema fue que eliminé un tercer sitio (ya no lo necesitaba); sin embargo, ese sitio tenía los certificados SSL que cubrían los tres sitios y ya no estaban. Peor aún, no estoy usando Letsencrypt, sino certificados de origen de Cloudflare con HSTS para garantizar una seguridad más sólida. Cloudflare estaba provocando la redirección que luego fallaba porque no había ningún certificado. Ahora he adoptado un sistema de un certificado por sitio (lección aprendida allí).

Solución:

  1. Genere un nuevo certificado, uno para cada sitio
  2. Guarde los certificados (tanto pem como clave) en directorios del servidor
  3. Modifique los bloques del servidor en nginx (/etc/nginx/sites-enabled) para que apunten a los directorios correctos y asegúrese de que http2 esté habilitado
  4. Asegúrese de que SSL estricto esté seleccionado en Cloudflare.

Aquí está el bloque de configuración de nginx para uno de los sitios:

# configuration file /etc/nginx/sites-enabled/<website>.com:
server {
    listen 80;
    listen [::]:80;

    server_name sarahcorballis.com www.<website>.com;
    return 302 http://$server_name$request_uri;
}
server {

    # SSL Configuration for Cloudflare 

    listen 443 ssl http2; 
    listen [::]:443 ssl http2;
    ssl on;
    ssl_certificate /etc/ssl/certs/<website>.com.pem;
    ssl_certificate_key /etc/ssl/private/<website>.com.key;

    server_name <website>.com www.<website>.com; 

    root /var/www/sarahcorballis.com/;

    index index.html;

    try_files $uri $uri/ /index.html ;


    client_max_body_size 50m;
}

Deberá cambiar al sitio web que tenga y asegurarse de que el sufijo sea el mismo que el suyo, si copió el bloque anterior.

información relacionada