#1 Le 26/11/2020, à 17:35
- JMB74580
[Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
Apache2 sous Ubuntu 20.04 LTS: 2 serveurs web (egroupware et glpi), tout fonctionne correctement en http.
Souhaitant pouvoir accéder depuis l'extérieur au serveur web glpi, j'ai tenté d'activer le https (l'accès extérieur fonctionne également en http via un port spécifique + nat sur mon FortiGate).
Cependant, l'accès à https://mon_serveur/glpi me renvoie "the requested url was not found on this server.", et la redirection auto du http vers https ne fonctionne pas non plus.
Qu'ai je oublié ?
Merci.
Cdlt.
Fred.
Ci-dessous, le fichier de config /etc/apache2/sites-available/glpi.conf:
<VirtualHost *:80>
ServerAdmin mon_mail
ServerName glpi
DocumentRoot "/var/www/html/glpi"
<Directory "/var/www/html/glpi">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Collabora proxy needs to be included inside vhost
include /etc/egroupware-collabora-key/apache.conf
# EGroupware proxy needs to be included inside vhost
include /etc/egroupware-docker/apache.conf
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin mon_mail
ServerName glpi
DocumentRoot "/var/www/html/glpi"
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory "/var/www/html/glpi">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Collabora proxy needs to be included inside vhost
include /etc/egroupware-collabora-key/apache.conf
# EGroupware proxy needs to be included inside vhost
include /etc/egroupware-docker/apache.conf
</VirtualHost>
Dernière modification par JMB74580 (Le 02/12/2020, à 17:52)
Hors ligne
#2 Le 26/11/2020, à 18:31
- krodelabestiole
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
ServerName glpi
avec cette directive ton hôte virtuel est accessible sur https://glpi/ (ou http://glpi/), et non pas https://ip_du_serveur/glpi/
à condition de résoudre le domaine glpi d'une manière ou d'une autre (dans le fichier hosts des machines clientes par ex.)
Dernière modification par krodelabestiole (Le 26/11/2020, à 18:32)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#3 Le 27/11/2020, à 11:21
- JMB74580
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
j'avais mal interprété le ServerName (je pensais que cela correspondait au dossier dans /var/www/html/glpi); j'en déduit que les virtual hosts n'ont jamais été exploités.
Cependant:
lorsque je saisi http://mon_serveur/glpi ==> ok
lorsque je saisi https://mon_serveur/glpi ==> erreur
lorsque je saisi http://mon_serveur/egroupware ==> ok
lorsque je saisi https://mon_serveur/egroupware ==> ok
lorsque je saisi http://mon_serveur ==> http://mon_serveur/egroupware (idem si https mais en https)
lorsque je saisi http://glpi ==> https://mon_serveur/egroupware (idem si https mais en https).
Pourquoi https://mon_serveur/glpi me renvoie une erreur ?
Dans quel fichier serait indiqué que http://mon_serveur = http://mon_serveur/egroupware ?
J'ai raté des paramétrages, mais lesquels ?
Merci.
Cdlt.
Fred.
Hors ligne
#4 Le 27/11/2020, à 12:03
- krodelabestiole
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Pourquoi https://mon_serveur/glpi me renvoie une erreur ?
je sais pas, il faudrait voir le virtualhost pris en compte pour cette requête...
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#5 Le 27/11/2020, à 12:55
- bruno
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Je me permets de compléter la réponse de@krodelabestiole.
D'abord je te conseille de lire la doc apache2, notamment la partie 5 qui concerne les hôtes virtuels.
Ensuite il faut nous expliquer à quoi correspond « mon_serveur ». Est-ce un nom d'hôte, une adresse IP ?
Il faut examiner les hôtes virtuels utilisés sous /etc/apache2/sites-available et ceux activés sous forme de liens symboliques vers les premiers, dans /etc/apache2/site-enabled. Pour voir les hôtes virtuels activées en une commande :
sudo apache2ctl -t -D DUMP_VHOSTS
Il faudra aussi regarder les configurations activés dans /etc/apache2/conf-enabled (liens symboliques vers /etc/apache2/conf-available, même principe que pour les hôtes virtuels). Il est très probable qu'il y ait des configuration sous forme d'alias pour glpi et egroupware.
#6 Le 30/11/2020, à 12:02
- JMB74580
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
mon_serveur = Ubuntu-JMB.JuraMB.local
apache2ctl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:443 glpi/ (/etc/apache2/sites-enabled/glpi.conf:26)
*:80 is a NameVirtualHost
default server Ubuntu-JMB.JuraMB.local (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost Ubuntu-JMB.JuraMB.local (/etc/apache2/sites-enabled/000-default.conf:1)
alias Ubuntu-JMB
port 80 namevhost glpi (/etc/apache2/sites-enabled/glpi.conf:1)
port 80 namevhost php-info (/etc/apache2/sites-enabled/php-info.conf:1)
Je vais continuer les investigations.
Cdlt.
Fred.
Hors ligne
#7 Le 30/11/2020, à 12:39
- bruno
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Le retour de
cat /etc/apache2/sites-avialable/000-default.conf
cat etc/apache2/sites-available/glpi.conf
Un sule hôte virtuel est configuré sur le port 443 : glpi.conf
Attention le TLD .local est normalement réservé au protocole mDNS (avahi, zeroconf)
#8 Le 01/12/2020, à 15:37
- JMB74580
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
at 000-default.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName Ubuntu-JMB.JuraMB.local
ServerAlias Ubuntu-JMB
# Redirect permanent / https://Ubuntu-JMB.JuraMB.local/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
# Collabora proxy needs to be included inside vhost
include /etc/egroupware-collabora-key/apache.conf
# EGroupware proxy needs to be included inside vhost
include /etc/egroupware-docker/apache.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
cat glpi.conf
<VirtualHost *:80>
ServerAdmin mon_mail
ServerName glpi
DocumentRoot "/var/www/html/glpi"
<Directory "/var/www/html/glpi">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Collabora proxy needs to be included inside vhost
include /etc/egroupware-collabora-key/apache.conf
# EGroupware proxy needs to be included inside vhost
include /etc/egroupware-docker/apache.conf
# Redirect permanent / https://Ubuntu-JMB.JuraMB.local/
# RewriteEngine on
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin mon_mail
ServerName glpi/
DocumentRoot "/var/www/html/glpi"
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
<Directory "/var/www/html/glpi">
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Collabora proxy needs to be included inside vhost
include /etc/egroupware-collabora-key/apache.conf
# EGroupware proxy needs to be included inside vhost
include /etc/egroupware-docker/apache.conf
</VirtualHost>
Cdlt.
Fred.
Hors ligne
#9 Le 01/12/2020, à 16:16
- bruno
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Au vu de la configuration (mal foutue) tout ceci est donc normal :
lorsque je saisi http://mon_serveur/glpi ==> ok
La requête est traitée par le premier hôte virtuel 000-default.conf qui va chercher les fichiers sous /var/www/html/glpi puisque la racine est /var/www/html
lorsque je saisi https://mon_serveur/glpi ==> erreur
La requête est traitée par le premier hôte virtuel 000-default.conf qui ne contient aucune configuration pour le port 443 ⇒ erreur de connexion
lorsque je saisi http://mon_serveur/egroupware ==> ok
lorsque je saisi https://mon_serveur/egroupware ==> ok
lorsque je saisi http://mon_serveur ==> http://mon_serveur/egroupware (idem si https mais en https)
La requête est traitée par le premier hôte virtuel 000-default.conf puis est probablement redirigée par l'intermédiaire des directives include. J'ignore pourquoi cela fonctionne en HTTPS, sans doute des bouts de configuration que l'on ne voit pas ici.
lorsque je saisi http://glpi ==> https://mon_serveur/egroupware (idem si https mais en https).
La requête est traitée par le second hôte virtuel glpi.conf puis est probablement redirigée par l'intermédiaire des directives include.
Encore une fois il faut lire attentivement la documentation apache2.
Il y a plusieurs erreurs ici :
- des directives include … egroupwware… qui sont répétées dans tous les hôtes virtuels et pour lesquelles on ne connaît pas le contenu des fichiers appelés.
- une mauvaise compréhension de l'utilisation des hôtes virtuels par nom, des directives ServerName et DocumentRoot.
Il faut faire un choix sur la façon dont tu veux que ton serveur traite les requêtes.
Soit tu veux que tes sites soient tous accessibles avec http://example.com/nom_du_site et dans ce cas tu as un seul hôte virtuel qui sert /var/www/html avec autant de sous dossier nom_du_site que de sites.
Soit tu veux que chaque site soit accessible sous un nom différent, par exemple http://nom_du_site.example.com, et dans ce cas il te faut autant d'hôtes virtuels que de sites, chacun servant un dossier racine différent /var/www/nom_du_site
#10 Le 02/12/2020, à 09:01
- JMB74580
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
merci pour ces précieuses précisions, je vais revoir toute la config et relire entièrement la doc apache2/virtual hosts.
nb: les include egroupware ont été ajoutés par l'install, je ne les ai pas ajouté manuellement.
Bonne journée.
Cdlt.
Fred.
Hors ligne
#11 Le 02/12/2020, à 17:49
- JMB74580
Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur
Bonjour,
problème résolu:
en fait, le lien vers /etc/apache2/sites-enabled/000-default-ssl.conf depuis /etc/apache2/sites-available/default-ssl.conf n'était pas présent.
Création du lien, restart Apache2 ==> désormais https://ubuntu-jmb/glpi fonctionne.
Redirection dans /etc/apache2/sites-available/000-default.conf:
Redirect permanent / https://Ubuntu-JMB.JuraMB.local/
désactivation vhosts /glpi (qui ne sert à rien tel quel): a2dissite glpi
restart Apache2 ==> redirection auto http vers https
Cdlt.
Fred.
Dernière modification par JMB74580 (Le 02/12/2020, à 17:51)
Hors ligne