Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/11/2020, à 18: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, à 18:52)

Hors ligne

#2 Le 26/11/2020, à 19:31

krodelabestiole

Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur

JMB74580 a écrit :
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, à 19:32)

Hors ligne

#3 Le 27/11/2020, à 12: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, à 13:03

krodelabestiole

Re : [Résolu]:Apache2 Ubuntu 20.04 HTTP ==> ok, HTTPS ==> erreur

JMB74580 a écrit :

Pourquoi https://mon_serveur/glpi me renvoie une erreur ?

je sais pas, il faudrait voir le virtualhost pris en compte pour cette requête...

Hors ligne

#5 Le 27/11/2020, à 13: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.

Hors ligne

#6 Le 30/11/2020, à 13: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, à 13: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)

Hors ligne

#8 Le 01/12/2020, à 16: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, à 17: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 :

JMB74580 a écrit :

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

JMB74580 a écrit :

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

JMB74580 a écrit :

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.

JMB74580 a écrit :

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

Hors ligne

#10 Le 02/12/2020, à 10: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, à 18: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, à 18:51)

Hors ligne