Bien, entonces nunca antes había tenido experiencia con SSL / HTTPS, solo he tratado con HTTP estándar. Recientemente comencé a trabajar en un sitio que necesitará SSL. Entonces, por supuesto, salí e investigué cómo y comencé. Llegué a la etapa de instalar el certificado SSL con éxito: aparece el candado verde y el servidor responde a las solicitudes HTTPS en el puerto 443. El problema que tengo es que no importa lo que haga, no puedo hacer que aparezcan páginas usando HTTPS / SSL, sin embargo, aparecieron bien en el puerto 80 / HTTP (hasta que redirija HTTP a HTTPS).
En pocas palabras, puedo acceder al sitio HTTPS absolutamente bien, sin embargo, mis páginas no se envían, sino que se envía un 404 por cada solicitud.
/etc/apache2/sites-available/[namefont>.conf
<VirtualHost *:80>
ServerName [serverName]
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
</VirtualHost>
<VirtualHost *:443>
ServerName [serverName]
ServerAdmin [email]
DocumentRoot [docRoot]
# I know the following SSL cert stuff is correct
SSLEngine On
SSLCertificateFile [...]/[domain].crt
SSLCertificateKeyFile [...]/[certificate].key
SSLCertificateChainFile [...]/[theotherone].crt
ErrorLog ${APACHE_LOG_DIR}/[custom]_error.log
CustomLog ${APACHE_LOG_DIR}/[custom]_access.log combined
<Directory "[docRoot]">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
No estoy seguro de si hay algo más que desee ver, o cualquier otro detalle, pero si lo hay, hágamelo saber.
EDITAR:
Después de buscar en los archivos de configuración, he establecido que, por cualquier motivo, cuando se conecta a HTTPS, el servidor está utilizando la raíz del documento en la configuración predeterminada (/ var / www /), sin embargo, esta configuración predeterminada no está habilitada con a2ensite. Parece que no puedo entender dónde se encuentra la configuración que está causando esto
fuente
Rewrite
Parece que sus directivas están intentando ejecutar Apache detrás de un proxy inverso mal configurado. Si su Apache está sirviendo el dominio directamente sin ningún proxy, simplemente debe descartar todas lasRewrite
directivas y reemplazarlas por una solaRedirect
. Y configure archivos de registro separados para cada uno deVirtualHost
modo que pueda ver exactamente quéVirtualHost
proceso cada solicitud.Respuestas:
¿Es absolutamente necesario redirigir todas las solicitudes http a https? Porque parece que eso es lo que estás tratando de hacer aquí.
Le sugiero que comience eliminando las siguientes líneas de su conf:
Sospecho que la sintaxis puede estar equivocada allí. Luego, intente conectarse nuevamente en cada http: // y https: // protocolos.
fuente
No puedo recordar exactamente cómo lo descubrí, pero me topé con algo que sugirió poner:
<VirtualHost _default_:443>
En lugar de:
<VirtualHost *:443>
Desde que lo reemplacé, mi SSL ha estado funcionando perfectamente.
fuente
Intenta editar tu archivo para que se vea así:
Esta es una configuración muy básica, si esto funciona, agregue sus redireccionamientos si aún es necesario.
Si esto no funciona, muestre su ssl.conf
fuente