D'accord, je n'ai jamais eu d'expérience avec SSL / HTTPS auparavant, je n'ai jamais traité qu'avec HTTP standard. Récemment, j'ai commencé à travailler sur un site qui aura besoin de SSL. Alors bien sûr, je suis sorti et j'ai cherché comment et commencé. J'ai réussi à installer le certificat SSL - le cadenas vert apparaît et le serveur répond aux demandes HTTPS sur le port 443. Le problème que j'ai, c'est que peu importe ce que je fais, je ne peux pas faire apparaître de pages en utilisant HTTPS / SSL, cependant, ils semblaient bien sur le port 80 / HTTP (jusqu'à ce que je redirige HTTP vers HTTPS).
En termes simples, je peux accéder au site HTTPS très bien, mais mes pages ne sont pas envoyées, mais un 404 est envoyé pour chaque demande.
/etc/apache2/sites-available/[name
<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>
Je ne sais pas s'il y a autre chose que vous voudrez peut-être regarder, ou tout autre détail, mais si c'est le cas, faites-le moi savoir.
ÉDITER:
Après quelques recherches dans les fichiers de configuration, j'ai établi que pour une raison quelconque, lors de la connexion à HTTPS, le serveur utilise la racine du document dans la configuration par défaut (/ var / www /) mais cette configuration par défaut n'est pas activée avec a2ensite. Je n'arrive pas à comprendre où se trouve la configuration à l'origine de cela
Rewrite
directives donnent l'impression que vous essayez d'exécuter Apache derrière un proxy inverse mal configuré. Si votre Apache sert le domaine directement sans aucun proxy, vous devez simplement supprimer toutes lesRewrite
directives et les remplacer par une seuleRedirect
. Et configurez des fichiers journaux distincts pour chacun deVirtualHost
sorte que vous puissiez voir exactement quelVirtualHost
processus chaque demande.