55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# 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.
|
|
|
|
```
|
|
Configurer Apache 2
|
|
http:*www.abonnel.fr <==[reverse proxy ]==> 51.23.41.1
|
|
```
|
|
|
|
## 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
|
|
|
|
## 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` :
|
|
```
|
|
<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>
|
|
```
|
|
|
|
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`
|
|
```
|
|
sudo a2ensite 100-com.perdu.extra.conf
|
|
```
|
|
|
|
Et si tout se passe bien, on recharge la configuration d'Apache 2 sans avoir besoin de redémarre le service :
|
|
```
|
|
sudo service apache2 reload
|
|
``` |