Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/06/2016, à 07:43

chryslervert

nginx + reverse proxy // cacher le port dans l'url

Bonjour,

Je tache d'utiliser nginx comme proxy à l'aide de docker. J'ai donc deux conteneur:

[*] conteneur A "proxy" : nginx qui écoute sur le port 80[/*]
[*] conteneur B "serveur web" : nginx + php qui ecoute sur le port 12345[/*]

Mon IP est 81.102.50.xx.

***

Ma configuration actuelle

*Conteneur A*

docker-compose.yml

version: '2'
services:
  web:
    image: nginx:latest
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./etc/nginx/mime.types:/etc/nginx/mime.types:ro
      - ./etc/nginx/conf.d/proxy.conf:/etc/nginx/conf.d/proxy.conf:ro
      - ./etc/nginx/conf.d/fastcgi.conf:/etc/nginx/conf.d/fastcgi.conf:ro
      - ./etc/nginx/sites-available:/etc/nginx/sites-available:ro
      - ./etc/nginx/sites-enabled:/etc/nginx/sites-enabled:ro
      - ./etc/nginx/htpasswd:/etc/nginx/htpasswd:ro
      - ./var/log/nginx:/var/log/nginx
      - /etc/letsencrypt:/etc/letsencrypt:ro

vim etc/nginx/nginx.conf

    worker_processes  2;

    worker_rlimit_nofile    2000;

    error_log  /var/log/nginx/error.log;

    pid        /var/run/nginx.pid;

    events {
        # Maximum connection number
        worker_connections  1024;
    }

    http {

        [...]

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;

    }

vim etc/nginx/sites-available/my.domain.com

    server {

        listen 80;
        listen [::]:80;
        server_name my.domain.com;

        access_log off;

        location / {
            proxy_pass http://localhost:yy/;
            proxy_cache cache;
            proxy_cache_valid 12h;
            expires 12h;
        }

    }

*Conteneur B*

docker-compose.yml

version: '2'
services:
  web:
    image: nginx:latest
    restart: always
    ports:
      - 12345:80
    volumes:
      - ./html:/usr/share/nginx/html
      - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - /home/jbo/reverse-proxy/etc/nginx/mime.types:/etc/nginx/mime.types:ro
      - /home/jbo/reverse-proxy/etc/nginx/conf.d/fastcgi.conf:/etc/nginx/conf.d/fastcgi.conf:ro
      - ./var/log/nginx:/var/log/nginx
#      - /etc/letsencrypt:/etc/letsencrypt:ro
    links:
      - php
  php:
    image: php:fpm
    restart: always
#    ports:
#      - 9000:9000
    volumes:
      - ./html:/usr/share/nginx/html

vim etc/nginx/nginx.conf

    worker_processes  auto;

    worker_rlimit_nofile    2000;

    error_log  /var/log/nginx/error.log;

    pid        /var/run/nginx.pid;

    events {
        # Maximum connection number
        worker_connections  1024;
    }

    http {

        [...]

        server {
             listen 80;
             listen [::]:80;

             server_name my.domain.com;
             root /usr/share/nginx/html;
             index index.php index.html index.htm;
        
             [...]

         }

    }

***

Résultat

`http://81.102.50.xx` > ok, je vois la page par défaut de nginx
`http://81.102.50.xx:12345` > ok, je vois le site
`http://my.domain.com` > ko, je vois la page par défaut de nginx
`http://my.domain.com:12345` > ok, je vois le site

Évidemment, je souhaiterai pourvoir accéder au site à partir de l'url sans le port.

Est-ce que le problème pourrait venir de de la configuration du proxy ou du server web?
Il y a bien des propriété comme server_name_in_redirect que j'ai essayé sans succès.

J'ai créé un deuxième site avec mariadb en plus. Je rencontre le même problème (en fait actuellement, j'ai une erreur 502 mais je crois que c'est à cause de la configuration de fastcgi, au passage à faire au niveau du proxy ou du serveur web?)

Par avance, merci pour votre aide.

jb

Dernière modification par chryslervert (Le 15/06/2016, à 07:44)


Orange pressée // Ubuntu 22.04

Hors ligne