diff --git a/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.json b/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.json deleted file mode 100644 index 9addd31..0000000 --- a/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "title": "Apache 2 : configurer un reverse-proxy HTTP pour un sous-domaine", - "_updated_at": "2026-05-17 18:31:39", - "slug": "http-proxy-apache2", - "published": true, - "published_at": "2023-02-09 16:12", - "category": "Informatique", - "tags": { - "tags": [ - "HTTP", - "Apache" - ] - }, - "seo_title": "", - "seo_description": "" -} diff --git a/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.md b/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.md deleted file mode 100644 index 3eeee24..0000000 --- a/297a69aa-5f67-4c02-8e02-454c2700ee7a/draft_overlay.md +++ /dev/null @@ -1,67 +0,0 @@ -# Apache 2 : configurer un reverse-proxy HTTP pour un sous-domaine - -Voici mes notes pour configurer un reverse-proxy avec Apache 2, qui expose un sous-domaine HTTP et relaie les requêtes vers un serveur d'origine identifié par son adresse IP. - -``` -http://extra.perdu.com <==[ reverse proxy ]==> http://103.224.182.253 -``` - -## Prérequis - -- Apache 2 installé avec les modules `proxy` et `proxy_http` activés : - ``` - sudo a2enmod proxy proxy_http - ``` -- Le port 80 ouvert sur la machine qui héberge le reverse-proxy. -- Un enregistrement DNS pointant le sous-domaine (ici `extra.perdu.com`) vers l'IP du reverse-proxy. - -## Configuration du VirtualHost - -Chaque site est décrit par un fichier `.conf` placé dans `/etc/apache2/sites-available/`. Dans cet exemple, on configure le site `extra.perdu.com` pour qu'il relaie le trafic vers `103.224.182.253`. - -Créer le fichier `/etc/apache2/sites-available/100-com.perdu.extra.conf` : - -``` - - - ServerName extra.perdu.com - - # On ne proxifie pas les requêtes Let's Encrypt : - # elles doivent être servies localement. - ProxyPass /.well-known/acme-challenge ! - Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge - - - Options None - AllowOverride None - Require all granted - AddDefaultCharset off - - - ProxyPreserveHost On - ProxyPass "/" "http://103.224.182.253/" - ProxyPassReverse "/" "http://103.224.182.253/" - - -``` - -### Pourquoi exclure `/.well-known/acme-challenge` ? - -L'exclusion via `ProxyPass /.well-known/acme-challenge !` prépare l'ajout futur d'un certificat SSL avec Let's Encrypt. Lors de la validation du domaine, Let's Encrypt attend une réponse HTTP 200 sur ce chemin : si la requête est relayée vers le serveur d'origine, la validation peut échouer. - -Cette directive peut rester en place même si vous ne prévoyez pas d'utiliser Let's Encrypt dans l'immédiat — elle est sans effet tant que le répertoire n'est pas sollicité. - -## Activer le site - -Activer la configuration avec `a2ensite` : - -``` -sudo a2ensite 100-com.perdu.extra.conf -``` - -Vérifier que la syntaxe est correcte, puis recharger Apache sans interrompre le service : - -``` -sudo apache2ctl configtest -sudo systemctl reload apache2 -``` \ No newline at end of file diff --git a/297a69aa-5f67-4c02-8e02-454c2700ee7a/index.md b/297a69aa-5f67-4c02-8e02-454c2700ee7a/index.md index 8408fde..3eeee24 100644 --- a/297a69aa-5f67-4c02-8e02-454c2700ee7a/index.md +++ b/297a69aa-5f67-4c02-8e02-454c2700ee7a/index.md @@ -1,27 +1,33 @@ -# Apache 2 : reverse-proxy : configurer un site http avec sous-domaine en www +# Apache 2 : configurer un reverse-proxy HTTP pour un sous-domaine -Voici mes prises de notes pour configurer un reverse-proxy avec Apache 2. +Voici mes notes pour configurer un reverse-proxy avec Apache 2, qui expose un sous-domaine HTTP et relaie les requêtes vers un serveur d'origine identifié par son adresse IP. ``` -Configurer Apache 2 - http:*www.abonnel.fr <==[reverse proxy ]==> 51.23.41.1 +http://extra.perdu.com <==[ reverse proxy ]==> http://103.224.182.253 ``` -## Pré requis -La configuration du site Internet s'effectue dans un fichier de configuration. +## Prérequis -- Il accepte une connexion sur le port http 80. -- Il redirige vers un hébergement par http avec adresse IP +- Apache 2 installé avec les modules `proxy` et `proxy_http` activés : + ``` + sudo a2enmod proxy proxy_http + ``` +- Le port 80 ouvert sur la machine qui héberge le reverse-proxy. +- Un enregistrement DNS pointant le sous-domaine (ici `extra.perdu.com`) vers l'IP du reverse-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`. +## Configuration du VirtualHost + +Chaque site est décrit par un fichier `.conf` placé dans `/etc/apache2/sites-available/`. Dans cet exemple, on configure le site `extra.perdu.com` pour qu'il relaie le trafic vers `103.224.182.253`. + +Créer le fichier `/etc/apache2/sites-available/100-com.perdu.extra.conf` : -Le fichier à créer est `/etc/apache2/sites-available/100.com.perdu.extra.conf` : ``` ServerName extra.perdu.com + # On ne proxifie pas les requêtes Let's Encrypt : + # elles doivent être servies localement. ProxyPass /.well-known/acme-challenge ! Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge @@ -33,23 +39,29 @@ Le fichier à créer est `/etc/apache2/sites-available/100.com.perdu.extra.conf` ProxyPreserveHost On - ProxyPass "/" "http:*103.224.182.253/" + ProxyPass "/" "http://103.224.182.253/" ProxyPassReverse "/" "http://103.224.182.253/" ``` -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. +### Pourquoi exclure `/.well-known/acme-challenge` ? -Cette directive peut-être laissée active, même si vous ne prévoyez pas d'ajouter une certificat SSL avec Let's Encrypt. +L'exclusion via `ProxyPass /.well-known/acme-challenge !` prépare l'ajout futur d'un certificat SSL avec Let's Encrypt. Lors de la validation du domaine, Let's Encrypt attend une réponse HTTP 200 sur ce chemin : si la requête est relayée vers le serveur d'origine, la validation peut échouer. + +Cette directive peut rester en place même si vous ne prévoyez pas d'utiliser Let's Encrypt dans l'immédiat — elle est sans effet tant que le répertoire n'est pas sollicité. + +## Activer le site + +Activer la configuration avec `a2ensite` : -## 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 : +Vérifier que la syntaxe est correcte, puis recharger Apache sans interrompre le service : + ``` -sudo service apache2 reload +sudo apache2ctl configtest +sudo systemctl reload apache2 ``` \ No newline at end of file diff --git a/297a69aa-5f67-4c02-8e02-454c2700ee7a/meta.json b/297a69aa-5f67-4c02-8e02-454c2700ee7a/meta.json index 4c1207e..c57bb5f 100644 --- a/297a69aa-5f67-4c02-8e02-454c2700ee7a/meta.json +++ b/297a69aa-5f67-4c02-8e02-454c2700ee7a/meta.json @@ -1,18 +1,32 @@ { "uuid": "297a69aa-5f67-4c02-8e02-454c2700ee7a", "slug": "http-proxy-apache2", - "title": "Apache 2 : reverse-proxy : configurer un site http avec sous-domaine en www", + "title": "Apache 2 : configurer un reverse-proxy HTTP pour un sous-domaine", "author": "cedric@abonnel.fr", "published": true, - "published_at": "2023-02-09 16:12:18", + "featured": false, + "published_at": "2023-02-09 16:12", "created_at": "2023-02-09 16:12:18", - "updated_at": "2023-02-09 16:12:18", - "revisions": [], + "updated_at": "2026-05-17 18:31:44", + "revisions": [ + { + "n": 1, + "date": "2026-05-17 18:31:44", + "comment": "Titre modifié, tags modifiés, contenu modifié", + "title": "Apache 2 : reverse-proxy : configurer un site http avec sous-domaine en www" + } + ], "cover": "", "files_meta": [], "external_links": [], "seo_title": "", "seo_description": "", "og_image": "", - "category": "Informatique" + "category": "Informatique", + "tags": { + "tags": [ + "HTTP", + "Apache" + ] + } } diff --git a/297a69aa-5f67-4c02-8e02-454c2700ee7a/revisions/0001.md b/297a69aa-5f67-4c02-8e02-454c2700ee7a/revisions/0001.md new file mode 100644 index 0000000..8408fde --- /dev/null +++ b/297a69aa-5f67-4c02-8e02-454c2700ee7a/revisions/0001.md @@ -0,0 +1,55 @@ +# 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` : +``` + + + ServerName extra.perdu.com + + ProxyPass /.well-known/acme-challenge ! + Alias /.well-known/acme-challenge /var/www/html/.well-known/acme-challenge + + + Options None + AllowOverride None + Require all granted + AddDefaultCharset off + + + ProxyPreserveHost On + ProxyPass "/" "http:*103.224.182.253/" + ProxyPassReverse "/" "http://103.224.182.253/" + + +``` + +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 +``` \ No newline at end of file diff --git a/_logs/not_found.jsonl b/_logs/not_found.jsonl index df70e8f..80f5afc 100644 --- a/_logs/not_found.jsonl +++ b/_logs/not_found.jsonl @@ -3156,3 +3156,9 @@ {"ts":"2026-05-17 18:31:37","url":"/config/.env.production","ref":"","ua":"curl/8.7.1"} {"ts":"2026-05-17 18:31:38","url":"/src/.env.local","ref":"","ua":"curl/8.7.1"} {"ts":"2026-05-17 18:31:39","url":"/config/heroku.php","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:40","url":"/root/.aws/config","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:40","url":"/app/config/aws.yml","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:41","url":"/th","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:41","url":"/ \"/website/config.env\",","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:43","url":"/ \"/.git/config\",","ref":"","ua":"curl/8.7.1"} +{"ts":"2026-05-17 18:31:43","url":"/ \"/.env.mailer_url\",","ref":"","ua":"curl/8.7.1"}