ce serveur doit avoir UN site unique, doit je modifier mon httpd.con :
actuel
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 LoadModule rewrite_module modules/mod_rewrite.so Include /etc/apache2/sites-enabled/*
??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 LoadModule rewrite_module modules/mod_rewrite.so Include /etc/apache2/sites-enabled/000-default Include /etc/apache2/sites-enabled/ssl![]()
ps; j'ai aussi :
dans sites-availables , 3 fichiers !
default default.save ssl
Et les fichiers ".save" y sont pour quelque chose ... au lieu d'avoir des erreures du type (lorsque je touche au ports.conf ou https.conf ):
j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. Hint: https://monserveur.fr/
localhost etait utiliser dans les premieres config que je faisait ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Bad Request Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please. Hint: https://localhost/
Je fait quoi ? je les "rm" d'ici ??
Non, laisse le *.
Donc si tu veux utiliser 2 fichiers : 000-default et ssl, il ne te faut que ces 2 seuls fichiers dans le répertoire sites-enabled.
000-default :
ssl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 NameVirtualHost *:80 <VirtualHost *:80> ServerName monserveur.fr ServerAdmin webmaster@monserveur.fr RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}/$1 [QSA,L] DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost>
Tous les autres fichiers qui sont dans ce répertoire doivent être supprimés (rm).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 NameVirtualHost *:443 <VirtualHost *:443> ServerName monserveur.fr DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews Allowoverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Salut, j'ai mit exactement la config que tu m'as proposer ci dessu et j'ai les mêmes souci !!
le ssl que j'ai retoucher est celui la --> /etc/apache2/sites-available/ssl
car mon fichier ssl fait reference a celui de sites-available ..
un ls -l me donne :
-rw-r--r-- 1 root root 1751 2008-10-27 16:06 000-default
lrwxrwxrwx 1 root root 32 2008-09-29 14:52 ssl -> /etc/apache2/sites-available/ssl
sa pourrais venir d'ou ?
La redirection ne se fait qu'en interne et pas en externe ..
OK, alors on va tout remettre à plat, c'est mieux :
- Copie tout ce qui se trouve dans /etc/apache2/sites-enable/000-default dans /etc/apache2/sites-available/default
- Supprime le fichier /etc/apache2/sites-enable/000-default
- Dans /etc/apache2/sites-enable, maintenant tu ne dois avoir plus que 2 liens symboliques : 000-default et ssl.
- Crée un lien symbolique /etc/apache2/sites-enable/000-default -> /etc/apache2/sites-available/default
A partir de maintenant, n'édite plus que les fichiers qui se trouvent dans /etc/apache2/sites-available : default et ssl.
/etc/apache2/sites-available/default :
/etc/apache2/sites-available/ssl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 NameVirtualHost *:80 <VirtualHost *:80> ServerName monserveur.fr ServerAdmin webmaster@monserveur.fr RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}/$1 [QSA,L] DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 NameVirtualHost *:443 <VirtualHost *:443> ServerName monserveur.fr DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /etc/apache2/server.crt SSLCertificateKeyFile /etc/apache2/server.key <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews Allowoverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
j'ai eu pas mal de souci entre temps.... mes certificats n'etaient pas bon, modification de mes firchiers.pem , puis grosse erreur qui m'a empecher d'avoir acces au site meme en http avec ssl deséctivé -a2dismod ssl- ....
j'ai tout remis a plat, nouveaux certificat, vhos reconfiguré comme tu l'as indiqué, ssl en route ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 [Tue Oct 28 15:02:23 2008] [error] [client ip.12.ip.34] File does not exist: /htdocs [Tue Oct 28 15:02:23 2008] [error] [client ip.12.ip.34] File does not exist: /htdocs [Tue Oct 28 15:20:07 2008] [error] [client ip.12.ip.34] Invalid method in request \x16\x03\x01 [Tue Oct 28 15:20:13 2008] [error] [client ip.12.ip.34] Invalid method in request \x80L\x01\x03\x01
j'ai zappé mon sites-available. je ne travail que sur sites-enabled. (000-default et ssl ).
Pour le moment tout refonctionne comme avant ...
Donc la redirection ne se fait qu'en interne, et en externe en forçant https sa marche mais en http pas de redirection ...
Que faut il faire ensuite ? stp![]()
C'est dommage, je dis juste l'inverseTu travailles dans le répertoire que tu veux. Je dis juste qu'il faut faire attention si tu édites des fichiers directement dans sites-enabled : il ne doit pas y avoir d'autres fichiers que 000-default et ssl. S'il y a d'autres fichiers (des .tmp, des ~..., etc.) générés par ton éditeur de texte, ça peut semer la meme...
Essaie voir avec RewriteCond %{HTTPS} !on à la place de RewriteCond %{HTTPS} off.
oui j'avais vue que c'etait l'inverse, mais la config la plus clean se trouvais sur enabled..![]()
avec !on j'ai toujours le meme cas de figure.. pas de redirectionen passant j'ai ces erreur au restart
je les ai quasiement toujours eu ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Tue Oct 28 17:12:05 2008] [warn] NameVirtualHost *:443 has no VirtualHosts [Tue Oct 28 17:12:05 2008] [warn] NameVirtualHost *:80 has no VirtualHosts
J'aime pas les 2 warnings sur NameVirtualHost. Tu peux faire une recherche dans tous les fichiers de configuration d'Apache pour voir s'il y a d'autres NameVirtualHost ou <VirtualHost> qui traînent ?
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2root@serveur:/# grep -l "<VirtualHost>" /etc/apache2/* /etc/apache2/apache2.conf
avec grep -r j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 root@serveur:/# grep -l NameVirtualHost /etc/apache2/* root@serveur:/#
pour NameVirtualHost
pour <VirtualHost>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 root@serveur:/etc/apache2# grep -r NameVirtualHost . ./sites-available/ssl:NameVirtualHost mondomaine.fr:443 ./sites-available/default:#NameVirtualHost *:80 ./sites-available/default:#NameVirtualHost *:443 ./sites-enabled/000-default:#NameVirtualHost mondomaine.fr:80 ./sites-enabled/000-default:NameVirtualHost *:80 ./sites-enabled/ssl:#NameVirtualHost mondomaine.fr:443 ./sites-enabled/ssl:NameVirtualHost *:443
pour VirtualHost
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 root@serveur:/etc/apache2# grep -r "<VirtualHost>" . ./apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost> ./apache2.conf:# logged here. If you *do* define an error logfile for a <VirtualHost>
En gris claire toutes les valeurs en commentaires.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 root@serveur:/etc# grep -r VirtualHost . ./apache2/sites-available/ssl:NameVirtualHost domaine.fr:443 ./apache2/sites-available/ssl:<VirtualHost domaine.fr:443> ./apache2/sites-available/ssl:</VirtualHost> ./apache2/sites-available/default:#NameVirtualHost *:80 ./apache2/sites-available/default:#NameVirtualHost *:443 ./apache2/sites-available/default:<VirtualHost domaine.fr:80> ./apache2/sites-available/default:</VirtualHost> ./apache2/sites-available/default:<VirtualHost domaine.fr:443> ./apache2/sites-available/default:</VirtualHost> ./apache2/sites-enabled/000-default:#NameVirtualHost domaine.fr:80 ./apache2/sites-enabled/000-default:NameVirtualHost *:80 ./apache2/sites-enabled/000-default:<VirtualHost *:80> ./apache2/sites-enabled/000-default:</VirtualHost> ./apache2/sites-enabled/ssl:#NameVirtualHost domaine.fr:443 ./apache2/sites-enabled/ssl:NameVirtualHost *:443 ./apache2/sites-enabled/ssl:<VirtualHost *:443> ./apache2/sites-enabled/ssl:</VirtualHost> ./apache2/apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost> ./apache2/apache2.conf:# logged here. If you *do* define an error logfile for a <VirtualHost> ./apache2/apache2.conf:# even on a per-VirtualHost basis. The default include files will display
Tout me semble correct, je ne comprends vraiment pas... A tout hasard, commente ou supprime le RewriteCond %{HTTPS}![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 * Reloading web server config apache2 [Wed Oct 29 11:30:30 2008] [warn] module rewrite_module is already loaded, skipping apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Wed Oct 29 11:30:30 2008] [warn] NameVirtualHost *:443 has no VirtualHosts [Wed Oct 29 11:30:30 2008] [warn] NameVirtualHost *:80 has no VirtualHostsQuè Pasa ?
sa ne viens pas de :
sa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 NameVirtualHost *:80 <VirtualHost *:80> ServerName mondomaine.fr ServerAdmin webmaster@monserveur.fr RewriteEngine on # RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}/$1 [QSA,L] DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> </VirtualHost>
Non, justement, c'est fait pour : si tu veux écrire <VirtualHost xxx>, il faut un NameVirtualHost xxx. Mais du coup, c'est ça qui est trop étrange : on a l'impression qu'Apache ignore totalement le bloc <VirtualHost *:80> qui suit. A tout hasard, as-tu regardé le fichier avec un éditeur hexadécimal ? Y aurait pas un caractère caché quelque part qui sèmerait le trouble ?
mes fichier je ne les touches meme pas, j'utilise la fonction nano pour les éditer.
tout est sur le serveur a distance.
J'utilise putty en utf-8 pour la connection ...
Tu veux peu être avoir l'oeil sur d'autres fichiers ?? n'hesite pas..
![]()
en eessayant une config de ce style ?
sa donnrais quoi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <VirtualHost mon ip externe:80> ServerName mondomaine.fr <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R] </IfModule> </VirtualHost>
Je ne sais pas trop, faut tester. Mais mettre l'adresse IP externe dans <VirtualHost> ne devrait pas y changer grand-chose. 2 choses à propos de cette ligne <VirtualHost mon ip externe:80> :
- L'adresse IP à indiquer doit être une adresse IP du serveur. Tu peux mettre l'IP externe si cette IP est effectivement une IP du serveur.
- Pense à mettre ne NameVirtualHost qui va bien.
ok ... je vais laisser tout mes namevirtualhost en *:80 et mettre l'ip serveur en <virtualhost ipserveur:port>
.. a force de faire toute les combinaison possible, on finira bien par trouver celle qui va le mieux![]()
Partager