Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/12/2010, 20h59   #1
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Par défaut Pas de Listen 80, mais %{SERVER_PORT} renvoie 80

Bonjour à tous,

Voilà 2 ans que je n'ai pas posté sur developpez.net, mais là je sèche

Mon problème est simple, apache écoute sur 1080 et 443, mais dans les règles de redirection (%{SERVER_PORT}) et php ($_SERVER['SERVER_PORT']), 80 est toujours retourné. Quelqu'un aurait une idée ?

Configuration :
root@dev:/etc/apache2# grep -R Listen .
./ports.conf:Listen 1080
./ports.conf: Listen 443

- Un grep 80 sur le même dossier ne renvoie rien (rien pour "80" directement)

Tests :
root@dev:/etc/apache2# telnet localhost 80
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

sockstat -l | grep ":80" ne retourne rien

root@dev:/etc/apache2# telnet localhost 1080
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.

Système
root@dev:/etc/apache2# apache2 -v
Server version: Apache/2.2.14 (Ubuntu)
Server built: Nov 18 2010 21:17:19

Et une autre question, est t'il possible sur apache de faire du ssl sur le même port que les connexions normales ? Comme webmin, si on passe pas par du ssl il affiche un erreur, mais le port reste toujours 10000. Quand je fais mes tests apache me retourne une erreur : ssl_error_rx_record_too_long.

Merci d'avance !
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2010, 15h56   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
C'est possible en passant par des hôtes virtuels. La directive Listen ne fait pas tout : c'est prévu de pouvoir indiquer un autre port que celui de Listen par exemple dans le cas où Apache se trouve derrière un reverse proxy.

Citation:
Envoyé par leodi Voir le message
Et une autre question, est t'il possible sur apache de faire du ssl sur le même port que les connexions normales ?
Non : un port Apache est soit pour faire du HTTP simple, soit pour faire du HTTPS, pas les deux en même temps.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/12/2010, 20h34   #3
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Merci pour tes réponses

Tous mes VH sont en *:1080 ou *:443.

Pour ma configuration d'apache, les seules modifications sont les VH et suPHP. Voici la conf de celui sur lequel je fais mes tests :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost *:1080>
DocumentRoot /www
        <Directory "/www">
                allow from all
                Options +Indexes
        </Directory>
ServerName www.com
ErrorLog /var/log/apache2/www/error.log
LogLevel debug
TransferLog /var/log/apache2/www/access.log

suPHP_ConfigPath /www/conf
</VirtualHost>
Il y aurait t'il un moyen de forcer les valeurs de SERVER_PORT dans la configuration à 1080 pour certains VH ? SetEnv ne fonctionne pas pour ce cas là. Au pire je peux toujours modifier directement les .htaccess et les scripts php mais engendrera des problèmes de déploiement.
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2010, 22h34   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Citation:
Envoyé par leodi Voir le message
Tous mes VH sont en *:1080 ou *:443.
C'est parfaitement normal : les signatures des VH doivent correspondre à des ports en Listen.

Citation:
Envoyé par leodi Voir le message
Code :
1
2
3
4
5
<VirtualHost *:1080>
...
ServerName www.com
...
</VirtualHost>
Tout le secret est là : la directive ServerName. ServerName doit être suivie de la valeur de l'en-tête HTTP Host envoyé par les navigateurs et qui correspond au VH. www.com, en langage HTTP, signifie http://www.com/, c'est-à-dire "nom d'hôte www.com, port 80". C'est port 80 car comme il n'est pas indiqué c'est implicitement le port par défaut de HTTP, soit 80. Si tu veux que tes URL soient toutes http://www.com:1080/..., cela signifie que l'en-tête Host vaut www.com:1080, donc la directive ServerName du VH correspondant doit être :
Code :
ServerName www.com:1080
Pour HTTPS, c'est exactement la même chose : si on n'indique pas de numéro de port dans ServerName cela suppose qu'on utilise le port 443.

Une bonne pratique consiste à systématiquement indiquer le numéro de port dans ServerName même s'il s'agit des ports par défaut.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/12/2010, 23h45   #5
Membre confirmé
 
Avatar de leodi
 
Homme Paul Bizouard
Directeur technique
Inscription : février 2004
Messages : 173
Détails du profil
Informations personnelles :
Nom : Homme Paul Bizouard
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : Communication - Médias

Informations forums :
Inscription : février 2004
Messages : 173
Points : 202
Points : 202
Envoyer un message via MSN à leodi
Arf, j'avais pourtant zieuté la doc et
Citation:
If no port is specified in the ServerName, then the server will use the port from the incoming request
Et là ça fonctionne, mes scripts réagissent pour la première fois correctement sur le serveur, c'est vraiment émouvant

Merci beaucoup pour ton aide et pour le cours _Mac_ !
leodi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h16.


 
 
 
 
Partenaires

Hébergement Web