#1 Le 01/12/2020, à 13:14
- notezik
Apache, Sous domaine qui pointe vers un autre serveur et SSL
Bonjour à toutes et tous,
J'ai donc un serveur perso chez moi nommé galois (locale IP1), et pour le décharger, j'ai installé une deuxième machine schwartz (local IP2).
J'ai un service (subsonic) qui fonctionne sur le port 4040 sur schwartz et je veux que musique.exemple.org (qui arrive sur galois après ma boxe internet) pointe vers IP2:4040.
Pour l'instant, sans parler de SSL pour l'instant, avec ça sur l'apache de galois :
<VirtualHost *:80>
SSLProxyEngine On
ProxyPreserveHost on
ProxyRequests off
ServerName musique.exemple.org
ServerAdmin webmaster@exemple.org
ProxyPass / http://IP2/
ProxyPassReverse / http://IP2/
RewriteEngine on
</VirtualHost>
et sur ça sur schwartz :
<VirtualHost *:80>
ServerAdmin webmaster@exemple.org
ServerName musique.exemple.org \
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/subsonic-access.log combined
ErrorLog ${APACHE_LOG_DIR}/subsonic-error.log
<Location / >
RequestHeader unset Accept-Encoding
ProxyPass http://localhost:4040/
ProxyPassReverse http://localhost:4040/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
ça fonctionne. Mais je veux des certificats SSL sur ce service. Donc ma question, c'est quelle est la bonne procédure (le certificat et letsencrypte sur quelle machine) ? J'ai un certbot sur chaque machine. J'ai essayé différents trucs mais j'ai toujours des problèmes sur le service subsonic où Firefox m'indique que la connexion n'est pas sécurisé et qui bloque des trucs (genre le lien paramètres d usite ne fonctionne pas).
J'espère être clair.
Merci.
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#2 Le 03/12/2020, à 08:56
- bruno
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Bonjour,
Le certificat SSL doit être sur le serveur frontal, c'est le plus simple. Donc configuré sur le premier hôte virtuel que tu as indiqué.
#3 Le 03/12/2020, à 22:11
- notezik
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Merci beaucoup. Y'a sans doute un truc que je n'ai pas compris, car pour que ça fonctionne, il me faut aussi générer des certificats ssl sur la machine2 (pas la frontale).
Je mets ma config du coup. J'ai mis côté frontale (machine1), avec une redirection ssl automatique (certbot qui a fait ça) :
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName musique.exemple.org
ServerAdmin webmaster@exemple.org
SSLProxyEngine On
ProxyPreserveHost on
ProxyRequests off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / https://IP2/
ProxyPassReverse / https://IP2/
<Location />
Order allow,deny
Allow from all
</Location>
#RewriteEngine on
# Some rewrite rules in this file were disabled on your HTTPS site,
# because they have the potential to create redirection loops.
SSLCertificateFile /etc/letsencrypt/live/musique.exemple.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/musique.exemple.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
et côté machine2 :
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@exemple.org
ServerName musique.exemple.org
# Serversignature off \
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/subsonic-access.log combined
ErrorLog ${APACHE_LOG_DIR}/subsonic-error.log
<Location / >
RequestHeader unset Accept-Encoding
ProxyPass http://localhost:4040/
ProxyPassReverse http://localhost:4040/
Order allow,deny
Allow from all
</Location>
SSLCertificateFile /etc/letsencrypt/live/musique.exemple.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/musique.exemple.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Si je n'envoie pas en https depuis la frontale (machine1), ça ne fonctionne pas. Donc j'ai du aussi lancer certbot sur machine2.
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#4 Le 04/12/2020, à 08:18
- bruno
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Oui c'est un peu trop compliqué comme configuration. Cela vient probablement du fait que tu utilises le proxy en HTTPS sur la machine 1 :
…
ProxyPass / https://IP2/
ProxyPassReverse / https://IP2/
Je pense que tu n'as pas besoin du serveur apache sur la machine 2 et que cet hôte virtuel sur la machine 1 suffit :
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName musique.exemple.org
ServerAdmin webmaster@exemple.org
SSLEngine on
SSLProxyEngine on
ProxyRequests off
ProxyPreserveHost on
ProxyPass / http://IP2:4040/
ProxyPassReverse / http://IP2:4040/
SSLCertificateFile /etc/letsencrypt/live/musique.exemple.org/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/musique.exemple.org/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
→ on redirige les requêtes HTTPS arrivant sur la machine 1 vers le port 4040 de la machine 2 (en HTTP).
Dernière modification par bruno (Le 04/12/2020, à 08:23)
#5 Le 07/12/2020, à 15:16
- notezik
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Merci beaucoup pour la réponse. Malheureusement, sur le service subsonic, avec cette config, firefox m'indique qu'il y a des contenus non sécurisé qu'il a bloqué (notamment le lien vers la gestion des paramètres du subsonic).
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#6 Le 07/12/2020, à 16:27
- bruno
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Dans ce cas il faut peut-être ajouter :
SSLProxyVerify None
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
#7 Le 08/12/2020, à 09:52
- notezik
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Ça ne fonctionne pas non plus (même erreur du côté de firefox qui bloque le contenu non sécurisé).
Maxime Chupin
https://fougeriens.org/~mc/
Hors ligne
#8 Le 08/12/2020, à 10:20
- bruno
Re : Apache, Sous domaine qui pointe vers un autre serveur et SSL
Je ne sais pas pourquoi. Il y a sans doute des particularités dues à subsonic.