2017-10-18 17 views
0

Je dois utiliser un proxy inverse nginx. Donc, j'utilise l'erreur jwilder/nginx-proxy. Also I'm using gitLab as a docker container. So I came up with this docker-compose file, but accessing ci.server.com gives me a 502 Bad Gateway`.Proxy inverse Nginx: Définir les ports corrects à l'aide de jwilder/nginx-proxy pour le conteneur gitlab

J'ai besoin d'aide pour configurer les ports appropriés pour ce conteneur docker

version: '3.3' 
services: 
    nginx: 
    container_name: 'nginx' 
    image: jwilder/nginx-proxy:alpine 
    restart: 'always' 
    ports: 
     - 80:80 
    volumes: 
     - /var/run/docker.sock:/tmp/docker.sock:ro 

    gitlab: 
    container_name: gitlab 
    image: 'gitlab/gitlab-ce:10.0.2-ce.0' 
    restart: always 
    hostname: 'ci.server.com' 
    ports: 
     - '50022:22' 
    volumes: 
     - '/opt/gitlab/config:/etc/gitlab' 
     - '/opt/gitlab/logs:/var/log/gitlab' 
     - '/opt/gitlab/data:/var/opt/gitlab' 
     - '/opt/gitlab/secret:/secret/gitlab/backups' 
     - '/etc/letsencrypt:/etc/letsencrypt' 
    environment: 
     VIRTUAL_HOST: ci.server.com 
     VIRTUAL_PORT: 50022 

Avant de nginx proxy changé inverse je cette configuration docker-Compose, qui travaillait. Et je ne comprends pas la différence ou l'erreur que j'ai faite en «convertissant» ceci.

vieux

version: '3.3' 
services: 
    nginx: 
    container_name: 'nginx' 
    image: 'nginx:1.13.5' 
    restart: 'always' 
    ports: 
     - '80:80' 
     - '443:443' 
    volumes: 
     - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' 
     - '/opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro' 
     - '/etc/letsencrypt:/etc/letsencrypt' 
    links: 
     - 'gitlab' 

    gitlab: 
    container_name: gitlab 
    image: 'gitlab/gitlab-ce:10.0.2-ce.0' 
    restart: always 
    hostname: 'ci.server.com' 
    ports: 
     - '50022:22' 
    volumes: 
     - '/opt/gitlab/config:/etc/gitlab' 
     - '/opt/gitlab/logs:/var/log/gitlab' 
     - '/opt/gitlab/data:/var/opt/gitlab' 
     - '/opt/gitlab/secret:/secret/gitlab/backups' 
     - '/etc/letsencrypt:/etc/letsencrypt' 
+0

Quelle était votre configuration nginx plus tôt? –

Répondre

2

Vous devez définir VIRTUAL_PORT: 80 dans votre environnement.

Le proxy tente actuellement de rediriger le port 80 vers le port SSH.

Pour utiliser SSL avec jwilderproxy vous pouvez regarder here

par exemple, j'utiliser.

version: '3/3' services: gitlab: container_name: gitlab image: 'gitlab/gitlab-ce:10.0.2-ce.0' restart: always hostname: 'ci.server.com' ports: - '50022:22' volumes: - '/opt/gitlab/config:/etc/gitlab' - '/opt/gitlab/logs:/var/log/gitlab' - '/opt/gitlab/data:/var/opt/gitlab' - '/opt/gitlab/secret:/secret/gitlab/backups' - '/etc/letsencrypt:/etc/letsencrypt' environment: - VIRTUAL_HOST=ci.server.com - VIRTUAL_PORT=80 - LETSENCRYPT_HOST=ci.server.com - LETSENCRYPT_EMAIL=youremail

+0

Pourriez-vous s'il vous plaît expliquer avec ma config gitlab? Je deviens fou avec les ports ... J'appelle gitlab via ssl, donc j'ai essayé d'exposer 443 et virtual_port aussi 443 – user3142695