Как настроить nginx для запроса нескольких микросервисов на узле - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь настроить nginx для управления всеми запросами и перенаправления на соответствующий микросервис на узле / экспресс.Все микросервисы работают нормально, подключаясь к Redis и Postgres.

Я бы хотел обойтись без использования портов по URL-адресу что-то вроде ...

Я сейчас используюДокер с несколькими изображениями, вот самые важные файлы ..

Есть идеи?Спасибо!

docker-compose.yml version: '3' services: nginx: build: ./nginx links: - auth:auth - banks:banks - users:users ports: - "80:80" amplify: build: ./docker-nginx-amplify environment: - API_KEY= - AMPLIFY_IMAGENAME=development auth: build: ./api-auth environment: - PG_SERVER=172.19.0.3 links: - redis - postgres - banks ports: - "8888" banks: build: ./api-banks environment: - PG_SERVER=172.19.0.3 links: - redis - postgres ports: - "8888" users: build: ./api-users environment: - PG_SERVER=172.19.0.3 links: - redis - postgres ports: - "8888" redis: image: redis ports: - "6379" postgres: image: postgres hostname: postgres ports: - "5432:5432" environment: POSTGRES_USER: postgresuser POSTGRES_PASSWORD: postgresuser POSTGRES_DB: privatedatabase restart: unless-stopped nginx.conf

worker_processes 4;
events { worker_connections 1024; }
http {
    upstream node-app {
        least_conn;
        server auth:8888 weight=10 max_fails=3 fail_timeout=30s;
        server banks:8888 weight=10 max_fails=3 fail_timeout=30s;
       server users:8888 weight=10 max_fails=3 fail_timeout=30s;
    }
    server {
        listen 80;


location / {
        proxy_pass http://node-app;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...