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;
}
}