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

Docker Discussion :

APACHE et phpFPM => FORWARD IP


Sujet :

Docker

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 226
    Points : 39
    Points
    39
    Par défaut APACHE et phpFPM => FORWARD IP
    Bonjour,

    j'ai un soucis,
    j'ai deux containeur, apache et phpfpm et je n'arrive pas à recuperer l'ip de mon client dans mon projet (symfony)

    $_SERVER['REMOTE_ADDR']; est toujours l'ip d'un de mes containeurs.

    Voici mon docker-compose

    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
    version: "3"
    
    services:
      apache:
        build:
          context: ./apache
        container_name: www_erex_nsa
        volumes:
          - ./apache/vhosts:/etc/apache2/sites-enabled
          - ../:/var/www/symfony:cached
          - app_var_nsa:/var/www/symfony/var
          - app_vendor_nsa:/var/www/symfony/vendor
          - app_apache_log_nsa:/var/log/apache2
        ports:
          - 8000:80
        networks:
          - edex-nsa
        depends_on:
          - phpfpm
      phpfpm:
        build:
          context: ./php
          args:
            TIMEZONE: ${TIMEZONE}
        container_name: phpfpm_edex_nsa_testing
        volumes:
          - ../:/var/www/symfony:cached
          - app_var_nsa:/var/www/symfony/var
          - app_vendor_nsa:/var/www/symfony/vendor
        networks:
          - edex-nsa
    
    volumes:
      app_var_nsa:
      app_vendor_nsa:
      app_apache_log_nsa:
    
    networks:
      edex-nsa:
    voici mon virtualhost apache.

    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>
        ServerAdmin hello@networksa.com
        DocumentRoot /var/www/symfony/public
        DirectoryIndex /index.php
    
        <Directory /var/www/symfony/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order Allow,Deny
            Allow from All
            <FilesMatch \.php$>
                SetHandler "proxy:fcgi://phpfpm:9000"
            </FilesMatch>
            #FallbackResource /index.php
        </Directory>
    
       
        <Directory /var/www/project/symfony/bundles>
            DirectoryIndex disabled
            FallbackResource disabled
        </Directory>
    
        ErrorLog /var/log/apache2/project_error.log
        CustomLog /var/log/apache2/project_access.log combined
    
       
    </VirtualHost>

    Voici le resultat d'un var_dump($_SERVER);

    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
    "USER" => "www-data"
      "SCRIPT_NAME" => "/index.php"
      "REQUEST_URI" => "/"
      "QUERY_STRING" => ""
      "REQUEST_METHOD" => "GET"
      "SERVER_PROTOCOL" => "HTTP/1.1"
      "GATEWAY_INTERFACE" => "CGI/1.1"
      "REDIRECT_URL" => "/"
      "REMOTE_PORT" => "41996"
      "SCRIPT_FILENAME" => "/var/www/symfony/public/index.php"
      "SERVER_ADMIN" => "hello@networksa.com"
      "CONTEXT_DOCUMENT_ROOT" => "/var/www/symfony/public"
      "CONTEXT_PREFIX" => ""
      "REQUEST_SCHEME" => "http"
      "DOCUMENT_ROOT" => "/var/www/symfony/public"
      "REMOTE_ADDR" => "172.19.0.1"
      "SERVER_PORT" => "9000"
      "SERVER_ADDR" => "172.19.0.3"
      "SERVER_NAME" => "localhost"
      "SERVER_SOFTWARE" => "Apache"
      "SERVER_SIGNATURE" => ""
    172.19.0.3 = mon apache
    172.19.0.2 = mon phpfpm
    172.19.0.1 = ma gateway
    Pouvez vous m'aider ?

  2. #2
    Nouveau membre du Club Avatar de mascoco
    Profil pro
    chef
    Inscrit en
    Octobre 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : chef

    Informations forums :
    Inscription : Octobre 2006
    Messages : 66
    Points : 25
    Points
    25
    Par défaut
    Hello,
    un lien Github/Gitlab pour tester votre projet ?

    cdt,


    Citation Envoyé par vodkline Voir le message
    Bonjour,

    j'ai un soucis,
    j'ai deux containeur, apache et phpfpm et je n'arrive pas à recuperer l'ip de mon client dans mon projet (symfony)

    $_SERVER['REMOTE_ADDR']; est toujours l'ip d'un de mes containeurs.

    Voici mon docker-compose

    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
    version: "3"
    
    services:
      apache:
        build:
          context: ./apache
        container_name: www_erex_nsa
        volumes:
          - ./apache/vhosts:/etc/apache2/sites-enabled
          - ../:/var/www/symfony:cached
          - app_var_nsa:/var/www/symfony/var
          - app_vendor_nsa:/var/www/symfony/vendor
          - app_apache_log_nsa:/var/log/apache2
        ports:
          - 8000:80
        networks:
          - edex-nsa
        depends_on:
          - phpfpm
      phpfpm:
        build:
          context: ./php
          args:
            TIMEZONE: ${TIMEZONE}
        container_name: phpfpm_edex_nsa_testing
        volumes:
          - ../:/var/www/symfony:cached
          - app_var_nsa:/var/www/symfony/var
          - app_vendor_nsa:/var/www/symfony/vendor
        networks:
          - edex-nsa
    
    volumes:
      app_var_nsa:
      app_vendor_nsa:
      app_apache_log_nsa:
    
    networks:
      edex-nsa:
    voici mon virtualhost apache.

    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>
        ServerAdmin hello@networksa.com
        DocumentRoot /var/www/symfony/public
        DirectoryIndex /index.php
    
        <Directory /var/www/symfony/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order Allow,Deny
            Allow from All
            <FilesMatch \.php$>
                SetHandler "proxy:fcgi://phpfpm:9000"
            </FilesMatch>
            #FallbackResource /index.php
        </Directory>
    
       
        <Directory /var/www/project/symfony/bundles>
            DirectoryIndex disabled
            FallbackResource disabled
        </Directory>
    
        ErrorLog /var/log/apache2/project_error.log
        CustomLog /var/log/apache2/project_access.log combined
    
       
    </VirtualHost>

    Voici le resultat d'un var_dump($_SERVER);

    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
    "USER" => "www-data"
      "SCRIPT_NAME" => "/index.php"
      "REQUEST_URI" => "/"
      "QUERY_STRING" => ""
      "REQUEST_METHOD" => "GET"
      "SERVER_PROTOCOL" => "HTTP/1.1"
      "GATEWAY_INTERFACE" => "CGI/1.1"
      "REDIRECT_URL" => "/"
      "REMOTE_PORT" => "41996"
      "SCRIPT_FILENAME" => "/var/www/symfony/public/index.php"
      "SERVER_ADMIN" => "hello@networksa.com"
      "CONTEXT_DOCUMENT_ROOT" => "/var/www/symfony/public"
      "CONTEXT_PREFIX" => ""
      "REQUEST_SCHEME" => "http"
      "DOCUMENT_ROOT" => "/var/www/symfony/public"
      "REMOTE_ADDR" => "172.19.0.1"
      "SERVER_PORT" => "9000"
      "SERVER_ADDR" => "172.19.0.3"
      "SERVER_NAME" => "localhost"
      "SERVER_SOFTWARE" => "Apache"
      "SERVER_SIGNATURE" => ""
    172.19.0.3 = mon apache
    172.19.0.2 = mon phpfpm
    172.19.0.1 = ma gateway
    Pouvez vous m'aider ?
    --
    The Opening of the source helps humanity

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    j'ai le même problème : $_SERVER['REMOTE_ADDR'] retourne toujours l'adresse de la Gateway.

    Si quelqu'un a une solution...

    Voici de quoi faire un test simple :

    docker-compose.yml =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    version: '3.1'
    
    services:
      test_addr:
        container_name: test_addr
        image:  php:7.4-apache
        volumes:
            - "./html:/var/www/html"
        restart: always
        ports:
          - 80:80
    html/index.php =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    
    echo 'REMOTE_ADDR = '.$_SERVER['REMOTE_ADDR']."\n";
    
    ?>
    Quand on visite la page http://localhost/ on obtient :

    REMOTE_ADDR = 172.20.0.1

Discussions similaires

  1. Apache et le forwarding d'informations
    Par maxxym dans le forum Apache
    Réponses: 3
    Dernier message: 24/12/2011, 18h32
  2. Réponses: 10
    Dernier message: 20/02/2008, 12h03
  3. Configurer un forwarder dans Apache
    Par sfaxi dans le forum Apache
    Réponses: 3
    Dernier message: 31/05/2007, 09h53

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