Как привязать свойство конфигурации Express -Gateway "host" к localhost с обратным прокси Nginx? - PullRequest
0 голосов
/ 06 августа 2020

Express -Gateway не может привязаться к localhost или 127.0.0.1

Вызов конечных точек напрямую работает должным образом:

 curl http://localhost:5000/ip 

 curl http://localhost:5010/erp

Доступ ко всем конечным точкам через ExpressGateway на порту 5000 работает должным образом

 curl http://localhost:5000/ip 

 curl http://localhost:5000/api/erp

Проблема

Обратный прокси-сервер nginx работает нормально, но при доступе к шлюзу возвращает неудачный ответ

Cannot GET /api/erp

Узел привязки: localhost для http в gateway.config.yml не имеет никакого эффекта. Даже когда я меняю хост на другой IP-адрес и порт, порт отражает изменение, но IP-адрес хоста остается неизменным как [::: 5000] в консоли шлюза express.

Пожалуйста , как я могу решить эту проблему?

gateway.config.yml

http:
  port: 5000


admin:
  port: 9876
  host: localhost

apiEndpoints:
  api:
    host: localhost
    paths: '/ip'

  erp:
    host: localhost
    paths: ['/api/erp', '/api/erp/*']                    
                          
serviceEndpoints:
  httpbin:
    url: 'https://httpbin.org'

  erpService:
    url: 'http://localhost:5010'                     
                          
      
policies:
  - basic-auth
  - cors
  - expression
  - key-auth
  - log
  - oauth2
  - proxy
  - rate-limit

pipelines:
  default:
    apiEndpoints:
      - api
    policies:
    # Uncomment `key-auth:` when instructed to in the Getting Started guide.
    # - key-auth:
      - proxy:
          - action:
              serviceEndpoint: httpbin 
              changeOrigin: true

  erpPipeline:
    apiEndpoints:
      - erp
    policies:
    # Uncomment `key-auth:` when instructed to in the Getting Started guide.
    # - key-auth:
      - proxy:
          - action:
              serviceEndpoint: erpService
              changeOrigin: true

Обратный прокси с Nginx


server {
listen 82;

location / {
        proxy_pass http://localhost:5010;
        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;
        }
}


server {
listen 81;

location / {
        proxy_pass http://localhost:5000;
        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;
        }
}
...