Je veux faire quelque chose mais je ne trouve pas de réponse (peut-être j'ai mal cherché). Je ne sais pas si c'est possible donc dites-moi si ce n'est pas le cas.
J'aimerais limiter un hôte virtuel Apache à un seul nom de domaine : bde.yggdrasil.cafe. Ainsi, si l'utilisateur essaie d'accéder à ce site en utilisant 90.90.3.57 ou un autre nom de domaine, il sera considéré comme un site inexistant. Voici mon extra/bde.conf qui est inclus dans httpd.conf, vous comprendrez le problème :
ServerName bde.yggdrasil.cafe
ServerAdmin my@email.fr
DocumentRoot /srv/http/bdeweb
#Some django config
#[...]
RewriteEngine on
RewriteCond %{SERVER_NAME} =bde.yggdrasil.cafe
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Listen 443
ServerName bde.yggdrasil.cafe
ServerAdmin my@email.fr
DocumentRoot /srv/http/bdeweb
#Some django config
#[...]
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/bde.yggdrasil.cafe/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/bde.yggdrasil.cafe/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Si j'utilise ce code et que j'essaie de me connecter à 90.90.3.57 ou yggdrasil.cafe en utilisant le protocole http, ma requête est interceptée par django qui renvoie une erreur 400 (C'est bien mais ce n'est pas ce que je veux obtenir). Si je me connecte à bde.yggdrasil.cafe en utilisant http, il me redirige correctement vers https.
Redirection DNS
Je pense que cela peut être utile donc je vous donne mes Redirections DNS :
yggdrasil.cafe --> 90.90.3.57
bde.yggdrasil.cafe --> yggdrasil.cafe
Suppression de la configuration Django
Si je supprime la configuration django dans mon hôte virtuel HTTP et j'utilise le fichier suivant :
ServerName bde.yggdrasil.cafe
RewriteEngine on
RewriteCond %{SERVER_NAME} =bde.yggdrasil.cafe
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Listen 443
ServerName bde.yggdrasil.cafe
ServerAdmin my@email.fr
DocumentRoot /srv/http/bdeweb
#Some django config
#[...]
SSLEngine on
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/bde.yggdrasil.cafe/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/bde.yggdrasil.cafe/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Si j'essaie de me connecter à mon serveur en utilisant 90.90.3.57 ou yggdrasil.cafe, je tombe sur "Indexes of /" (ce qui est mauvais, vraiment mauvais).
Je voudrais que Apache ignore la connexion si l'utilisateur n'utilise pas le sous-domaine "bde.yggdrasil.cafe".
Pourquoi je veux faire ça ?
Ce domaine est pour toutes mes affaires, y compris un futur site vitrine personnel que je voudrais héberger sur le nom de domaine "yggdrasil.cafe" (sans sous-domaine). Donc l'important n'est pas le résultat mais je voudrais savoir s'il est possible d'ajouter un autre VirtualHost sur le nom de domaine "yggdrasil.cafe" par la suite sans que django l'intercepte.
Merci pour votre temps :)