¿Por qué parece que no puedo acceder al sitio web alojado en mi dominio usando Apache y Route 53?

¿Por qué parece que no puedo acceder al sitio web alojado en mi dominio usando Apache y Route 53?

Instalé Apache en mi instancia EC2 para servir mi sitio web. Compré el dominio para el sitio web de GoDaddy.

Para servir el sitio web en una instancia EC2 alojada en AWS, creé una zona alojada en Route53 para el dominio comprado en GoDaddy.

Actualicé los servidores de nombres que obtuve después de crear la zona alojada en Route53 en el Panel DNS de GoDaddy.

Después de esta actualización del servidor de nombres, creé un registro A en la zona alojada de Route53 que apunta a la IP pública de la instancia EC2 creada para servir a mi sitio web.

Pero aún así, no puedo acceder a mi sitio web servido en la instancia EC2 usando Apache a través del dominio.

ingrese la descripción de la imagen aquí

Actualicé los servidores de nombres en el Panel de GoDaddy el lunes (26 de febrero de 2024) y han pasado casi 2 días desde la actualización, pero el sitio web aún no se ofrece en el dominio previsto.

Aquí está mi archivo de configuración de Apache:

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        ServerName test.instabook.app
        DocumentRoot /var/www/html

        <Directory /var/www/html>
                Options Indexes FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
        RewriteEngine on
        RewriteCond %{SERVER_NAME} =test.instabook.app
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

No puedo entender por qué el sitio web no funciona a pesar de realizar todas las tareas necesarias.

Respuesta1

La configuración de Apache solo está configurada para HTTP (80) y los navegadores intentan conectarse a través de HTTPS (443).

Su mejor solución es comprar un certificado SSL e instalarlo en el servidor. Puede realizar la prueba con un certificado SSL autofirmado.

Comprobando la propagación de DNS enComprobador de DNSmuestra el DNS propagado correctamente; todos los nodos apuntan a la dirección de destino:

3.110.225.226

Probé más a fondo su sitio ejecutando el siguiente comando Curl; y rápidamente devolvió encabezados de respuesta limpios a través de HTTP básico:

curl -ILk http://test.instabook.app

Lo que resulta en esto:

HTTP/1.1 200 OK
Date: Thu, 29 Feb 2024 04:14:16 GMT
Server: Apache/2.4.52 (Ubuntu)
Last-Modified: Wed, 28 Feb 2024 11:33:38 GMT
ETag: "1268-6126f83916814"
Accept-Ranges: bytes
Content-Length: 4712
Vary: Accept-Encoding
Content-Type: text/html

Perosiemprese cuelga hasta que se agota el tiempo de espera si uso HTTPS:

curl -ILk https://test.instabook.app

Se cuelga un rato y luego vuelve:

curl: (28) Failed to connect to test.instabook.app port 443: Operation timed out

Lo más probable es que el problema sea que su navegador esté intentando forzar HTTPS cuando solo está ejecutando el servidor (actualmente) en HTTP.

Su mejor solución es comprar un certificado SSL e instalarlo en el servidor. Puede probar la configuración de Apache con un certificado SSL autofirmado; pero obtenga un certificado real para su sitio.

información relacionada