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 :

[HTTPS] Apache refuse l'accès à Java


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut [HTTPS] Apache refuse l'accès à Java
    Bonjour,

    N'ayant pas de réponse ici, je viens voir par ici si quelqu'un pourrait m'aider (vu que ça concerne plus Apache que Java).

    Je résume mon histoire : je dois développer une Applet Java que nos clients utiliseront sur notre site sécurisé (SSL + authentification par certificat) pour signer et envoyer des fichiers vers une autre page du site qui récupérera et stockera les fichiers (en PHP).

    Je me sers donc de l'API Apache de Java et ait configuré mon appli' de tel sorte à ce que je suis puisse envoyer mes fichiers via une URL HTTPS (ça, vous vous en foutez c'est du Java et peut-être qu'il y a un souci dans mon code ^^).
    Mais quand je lance l'upload des fichiers, ça ne fonctionne pas. Je suis donc allé voir dans les logs d'Apache (access et error) et voici ce que j'y ai trouvé :

    monSite-access.log
    [07/Feb/2012:12:11:42 +0100] "POST /helios/helios/uploadfiles HTTP/1.1" 403 - "-" "Apache-HttpClient/UNAVAILABLE (java 1.5)"
    monSite-error.log
    [Tue Feb 07 12:11:42 2012] [error] Re-negotiation handshake failed: Not accepted by client!?
    Après pas mal de recherches, il me semble que le message d'erreur signifie que le serveur attend un certificat et que le client ne lui en présente pas. Mais comme je ne suis sur de rien, je voudrais également votre avis...
    Concernant le message d'accès, je n'ai pas trouvé d'information. Ce qui m'inquiète, c'est qu'il y a un code erreur 403 dedans.

    Enfin bref, est-ce que quelqu'un pourrait me dire ce que signifient ces messages SVP ? Et que faire pour pouvoir les résoudre ?

    Merci d'avance.

    DarkSeiryu

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    En effet, il y a un problème avec SSL (ou HTTPS). Quelle est la configuration SSL d'Apache ?

  3. #3
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Salut, merci pour ta réponse.

    Voici la config' SSL du serveur.

    /etc/apache2/mods-available/ssl.conf
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <IfModule mod_ssl.c>
    #
    # Pseudo Random Number Generator (PRNG):
    # Configure one or more sources to seed the PRNG of the SSL library.
    # The seed data should be of good random quality.
    # WARNING! On some platforms /dev/random blocks if not enough entropy
    # is available. This means you then cannot use the /dev/random device
    # because it would lead to very long connection times (as long as
    # it requires to make more entropy available). But usually those
    # platforms additionally provide a /dev/urandom device which doesn't
    # block. So, if available, use this one instead. Read the mod_ssl User
    # Manual for more details.
    #
    SSLRandomSeed startup builtin
    SSLRandomSeed startup file:/dev/urandom 512
    SSLRandomSeed connect builtin
    SSLRandomSeed connect file:/dev/urandom 512
     
    ##
    ##  SSL Global Context
    ##
    ##  All SSL configuration in this context applies both to
    ##  the main server and all SSL-enabled virtual hosts.
    ##
     
    #
    #   Some MIME-types for downloading Certificates and CRLs
    #
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
     
    #   Pass Phrase Dialog:
    #   Configure the pass phrase gathering process.
    #   The filtering dialog program (`builtin' is a internal
    #   terminal dialog) has to provide the pass phrase on stdout.
    SSLPassPhraseDialog  builtin
     
    #   Inter-Process Session Cache:
    #   Configure the SSL Session Cache: First the mechanism 
    #   to use and second the expiring timeout (in seconds).
    #SSLSessionCache         dbm:/var/run/apache2/ssl_scache
    SSLSessionCache        shmcb:/var/run/apache2/ssl_scache(512000)
    SSLSessionCacheTimeout  10 
    #3600
     
    #   Semaphore:
    #   Configure the path to the mutual exclusion semaphore the
    #   SSL engine uses internally for inter-process synchronization. 
    SSLMutex  file:/var/run/apache2/ssl_mutex
     
    #   SSL Cipher Suite:
    #   List the ciphers that the client is permitted to negotiate.
    #   See the mod_ssl documentation for a complete list.
    #   enable only secure ciphers:
    SSLCipherSuite HIGH:MEDIUM:!ADH
    #   Use this instead if you want to allow cipher upgrades via SGC facility.
    #   In this case you also have to use something like 
    #        SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128
    #   see http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html.en#upgradeenc
    #SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
     
    # enable only secure protocols: SSLv3 and TLSv1, but not SSLv2
    SSLProtocol all -SSLv2
     
     
    ##---- AJout JMA ------#
    SSLInsecureRenegotiation off
    SSLCACertificateFile /etc/apache2/certificats/AC_marchespublics_info.crt
    SSLOptions +FakeBasicAuth +ExportCertData  +StrictRequire 
     
    </IfModule>
    /etc/apache2/mods-available/ssl.conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
    Et voici le VirtualHost du site :
    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
    48
    49
    50
    <VirtualHost 192.168.1.6:443>
        # Application
        ServerName legalite.grenoble.aws
        ServerAlias mod.legalite.grenoble.aws
        ServerAdmin m.benes@aws-france.com
     
        #DocumentRoot /home/wwwroot/grenoble.aws-legalite.modulaire/public
        DocumentRoot /home/wwwroot/Serveur_LEGALITE/preprod.aws-legalite/public
        ErrorLog /var/log/apache2/mod.aws-legalite-error_log
        CustomLog /var/log/apache2/mod.aws-legalite-access_log combined
     
        DirectoryIndex default.htm index.php default.cfm index.htm index.cgi index.cfm
        Options -Indexes
     
        SSLEngine on
     
        SSLCertificateFile /etc/apache2/certificats/legalite.crt
        SSLCertificateKeyFile /etc/apache2/certificats/legalite.key
        SSLCertificateChainFile /etc/apache2/certificats/ca.crt
        SSLOptions +StdEnvVars
     
        #<Location /ajax >
        #   SSLVerifyClient none
            #SSLVerifyDepth 5
        #</Location>
     
        #<Location /java >
        #   SSLVerifyClient none
            #SSLVerifyDepth 5
        #</Location>
     
        <LocationMatch "^/([^(ajax/)]|[^(java/)]).*">
            #Authentification SSL/Certificats
            #SSLRequireSSL
            SSLVerifyClient require
            SSLVerifyDepth 5
        </LocationMatch>
     
        <Location />
            # Règles de réécriture pour Zend Framework
            RewriteEngine on
            RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
            RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
            RewriteRule !\.(js|ico|gif|jpg|png|css|zip|gz|html|xml)$ index.php [L]
        </Location>
     
        SetEnv APPLICATION_ENV grenoble
        SetEnv APPLICATION_TYPE reel
     
    </VirtualHost>
    DarkSeiryu

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Vu qu'il y a SSLVerifyClient require, le client doit présenter un certificat client reconnu par Apache. Les certificats clients reconnus par Apache sont ceux pour lesquels l'organisation qui a émis le certificat est reconnu par Apache, i.e. le certificat de cette autorité de certification figure dans le fichier indiqué par SSLCACertificateFile donc /etc/apache2/certificats/AC_marchespublics_info.crt.

    Après, aucune idée pour indiquer au client HTTP Apache le certificat client à utiliser.

  5. #5
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Salut.

    Ok donc les messages dans les logs Apache signifient bien que le serveur attend un certificat et que le client ne le lui en présente pas ? Ou alors, est-ce possible que le client présente un certificat qui ne convient pas au serveur ?

    DarkSeiryu

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Aucune idée.

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

Discussions similaires

  1. Apache refuse l'accès aux fichiers .py
    Par mapmip dans le forum Apache
    Réponses: 5
    Dernier message: 03/05/2010, 19h24
  2. Réponses: 1
    Dernier message: 30/09/2005, 21h42
  3. Apache - Droits d'accès dans les répertoires
    Par rabobsky dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 22/03/2005, 22h54
  4. [apache] probleme d'accès à mon propre serveur
    Par sunfunfree dans le forum Apache
    Réponses: 6
    Dernier message: 15/02/2005, 16h16
  5. Refus d'accès à une base Firebird
    Par severine dans le forum Installation
    Réponses: 18
    Dernier message: 04/06/2003, 16h03

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