abonnel-siteweb/data/pages/informatique/serveur/web-linux-apache/http_proxy_apache2.txt

66 lines
2.2 KiB
Plaintext

====== Apache 2 : reverse-proxy : configurer un site http avec sous-domaine en www ======
Voici mes prises de notes pour configurer un reverse-proxy avec Apache 2.
<code>
Configurer Apache 2
http://www.abonnel.fr <==[reverse proxy ]==> 51.23.41.1
</code>
===== Pré requis =====
La configuration du site Internet s'effectue dans un fichier de configuration.
* Il accepte une connexion sur le port http 80.
* Il redirige vers un hébergement par http avec adresse IP
{{page>informatique:linux:solutions_linux:configurer_un_site_web_apache_2:definitions_et_contexte_proxy}}
===== Configuration Apache 2 =====
On configure un site web à partir d'un fichier ''conf'' qui contient des directives. Dans notre exemple de fichier ''conf'' configure le site Internet ''extra.perdu.com''.
Le fichier à créer est ''/etc/apache2/sites-available/100.com.perdu.extra.conf'' :
<code>
<VirtualHost *:80>
ServerName extra.perdu.com
ProxyPass /.well-known/acme-challenge !
Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge
<Directory "/var/www/html/.well-known/acme-challenge">
Options None
AllowOverride None
Require all granted
AddDefaultCharset off
</Directory>
ProxyPreserveHost On
ProxyPass "/" "http://103.224.182.253/"
ProxyPassReverse "/" "http://103.224.182.253/"
</VirtualHost>
</code>
Afin de prévenir notre paramétrage futur en https, la directive ''RewriteCond %{REQUEST_URI} !\.well-known/acme-challenge/.*'' permet de ne pas rediriger les appels pour Let's Encrypt (http/301). En effet, Let's encrypt n'accepte que des status http/200 lorsque nous mettrons en œuvre l'ajout d'un certificat SSL.
Cette directive peut-être laissée active, même si vous ne prévoyez pas d'ajouter une certificat SSL avec Let's Encrypt.
===== Activer la configuration du site =====
On active la configuration du site en utilisant le binaire ''a2ensite''
<code>
sudo a2ensite 100-com.perdu.extra.conf
</code>
Et si tout se passe bien, on recharge la configuration d'Apache 2 sans avoir besoin de redémarre le service :
<code>
sudo service apache2 reload
</code>
--- //[[user:cedricabonnel]] 2019/07/26 18:54//