У меня есть два док-контейнера:
1- Api
2- Авторизация
Из авторизации я бы хотел перенаправить запросы пользователей на мой API
если они проходят аутентификацию.
Итак, внутри моего контейнера аутентификации у меня есть:
if ( itsAuthenticated){
req.redirect('http://api:8080/users/something')
// req is the normall express request object
}
http://api:8080
относится к моему другому контейнеру, который выставляет 8080
, и я связал его внутри моегоdocker-compose
файл, как показано ниже:
api:
build: ./api
ports:
- "8080:8080"
links:
- mongo // api needs mongo and it's working fine
volumes:
- ./api:/code
authorization:
build: ./authorization
ports:
- "8088:8088"
volumes:
- ./authorization:/code
links:
- api // here I have a link to api container
...
ПРИМЕЧАНИЕ:
Если я сделаю HTTP-запрос от authorization
к моему API
, он будет работать.
Сильфон работает нормально:
if ( itsAuthenticated){
const result = await http.get('http://api:8080/users/something');
console.log('**** result',result);
}
Таким образом, в основном, соединения в порядке, запрос get
в порядке, перенаправление полностью работает за пределами Docker
, но когда внутри контейнера,redirect
не работает.
Оцените помощь.
ОБНОВЛЕНИЕ
Просто понял, что если я перенаправлю свои запросы на http://www.google.com
, Я получаю результат, но он сразу умирает, когда я перенаправляю его на http://api:8080/users/something
Я уверен, что где-то что-то глупо пропускаю:)