IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Configuration virtual hosts pour Websocket wss (ERR_SSL_PROTOCOL_ERROR) - port SSL différent de 443


Sujet :

Apache

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 156
    Points : 74
    Points
    74
    Par défaut Configuration virtual hosts pour Websocket wss (ERR_SSL_PROTOCOL_ERROR) - port SSL différent de 443
    Bonjour,

    J'ai un serveur websocket qui tourne sur VPS OVH apache2 et php7.0 (j'ai aussi essayé Nginx et php5.0 = même problème), tout fonctionnait très bien avant le passage de mon site en https (hébergé sur un autre serveur).

    Pour faire les choses bien comme il faut, j'ai installer un certificat Let's encrypt et ça fonctionne. Le VPS est bien accessible depuis un navigateur en utilisant https:// mais ça bloque lorsque je tente une connexion websocket débutant par wss://. L'erreur obtenue est la suivante :
    WebSocket connection to 'wss://xx.xxx.xxx.xxx:444/' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR
    Si je poste ce message sur le forum Apache c'est que je pense que j'ai un soucis dans la configuration du virtualhosts. D'après mes recherches sur internet, le port utilisé de base pour le SSL est le 443, mais je n'ai pas la possibilité de faire écouter mon serveur websocket sur ce port car j'ai l'erreur suivante au démarrage du script :
    socket_listen(): unable to listen on socket [98]: Address already in use in /var/www/websocket.php on line 30
    alors j'utilise le port 444 pour l'écoute mais rien ne se passe (alors que ça fonctionne très bien en ws://)

    J'ai débuté mon projet depuis des années et j'arrivais enfin au bout... mais plus rien ne fonctionne depuis que les navigateurs nous incitent à utiliser des connexions sécurisées... si quelqu'un pouvait m'aider je commence vraiment à désespérer.

    Merci beaucoup

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 156
    Points : 74
    Points
    74
    Par défaut
    Pour info, j'ai résolu le problème en configurant apache :


    Pour le port 80 :

    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
    <VirtualHost *:80>
        ServerName monserveur.net
        ServerAlias www.monserveur.net
     
            ProxyPass / http://localhost:1552/
            ProxyPassReverse / http://localhost:1552/
     
            ProxyRequests Off
            ProxyPreservehost On
     
            <Proxy>
                    Order Allow,Deny
                    Allow from all
            </Proxy>
     
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
     
            #
            # certbot
            #
     
            RewriteEngine on
            RewriteCond %{SERVER_NAME} =monserveur.net [OR]
            RewriteCond %{SERVER_NAME} =www.monserveur.net
            RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
    </VirtualHost>

    Pour le port 443 :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <IfModule mod_ssl.c>
    <VirtualHost *:443>
            ServerName monserveur.net
            ServerAlias www.monserveur.net
     
            ProxyRequests Off
            ProxyPreservehost On
     
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
     
     
            SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/monserveur.net/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/monserveur.net/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
     
            SSLProtocol             all -SSLv2 -SSLv3
            SSLHonorCipherOrder     on
            SSLCompression          off
            SSLOptions +StrictRequire
     
            RewriteEngine On
     
            RewriteCond %{REQUEST_URI}     /  [NC,OR]
            RewriteCond %{HTTP:UPGRADE}    ^WebSocket$               [NC,OR]
            RewriteCond %{HTTP:CONNECTION} ^Upgrade$                 [NC]
            RewriteRule .* ws://localhost:1552%{REQUEST_URI}         [P,QSA,L]
     
            RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME}    !-f
            RewriteRule .* http://localhost:1552%{REQUEST_URI} [P,QSA,L]
     
            RequestHeader set X-Forwarded-Proto "https"
            Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
     
            RequestHeader unset If-Modified-Since
            RequestHeader unset If-None-Match
     
            <Location />
                    Require all granted
                    ProxyPassReverse ws://localhost:1552
                    ProxyPassReverseCookieDomain localhost monserveur.net
            </Location>
     
    </VirtualHost>
     
    </IfModule>
    Si ça peut aider une autre personne...

  3. #3
    Nouveau membre du Club Avatar de laplumaencre
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Points : 30
    Points
    30
    Par défaut info
    Bonjour, j'ai le même souci, mais je comprend mal tes virtual host qui on résolu ton problème.

    En fait, tu as utilisé le port 1552 (wss://exemple.fr:1552) pour te connecté ou c'est ce qu'il faut mettre quelques soit le port choisit pour se connecter coté client ?
    Merci

    EDIT: j'ai testé la config que tu as noté, apache2 ne veut plus redémarrer...
    skribascode.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. aide configuration virtual host
    Par Devether dans le forum Apache
    Réponses: 10
    Dernier message: 23/09/2009, 15h36
  2. Virtual host pour différencier un utilisateur
    Par boosted dans le forum Apache
    Réponses: 4
    Dernier message: 01/06/2009, 22h16
  3. Virtual host pour redmine
    Par jacky2677 dans le forum Apache
    Réponses: 4
    Dernier message: 14/01/2009, 17h15
  4. probleme configuration virtual host
    Par cflo91 dans le forum Apache
    Réponses: 4
    Dernier message: 12/07/2007, 16h22
  5. configuration virtual hosts sous windows avec apache
    Par ceriise dans le forum Apache
    Réponses: 3
    Dernier message: 05/03/2006, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo