#nginx #docker-compose #websphere-liberty
#nginx #docker-составить #websphere-liberty
Вопрос:
У меня есть docker-compose с контейнерами Liberty и nginx, но я получаю ошибку 404 при вызове запроса nginx.У меня есть
Пример: URL-адрес Liberty API:http://localhost:9082/sxrw-main/api/v1/terminals
URL-адрес nginx:http://localhost:81/sxrw-main/api/v1/terminals выдает ошибку 404
docker-составить
version: "3"
services:
ship-api:
image: docker.csx.com/websphere-liberty:javaee8
volumes:
- ./dist/config:/config
- ./dist/shared:/opt/ibm/wlp/usr/shared
ports:
- 9082:9080
- 944:9443
ship-web:
image: docker.csx.com/nginx:latest
ports:
- "81:80"
volumes:
- ./html:/usr/share/nginx/html
- ./nginx.conf:/etc/nginx/nginx.conf
links:
- ship-api
networks:
- shipcsx
networks:
shipcsx:
driver: bridge
Вот мой файл nginx.conf
events {
worker_connections 1024;
}
http {
server {
listen 80;
location /sxrw-main/api {
proxy_pass http://ship-api:9082;
}
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Ответ №1:
Возможно, вам потребуется добавить ship-api в сеть shipcsx. Я не думаю, что контейнеры с указанной сетью также присоединяются к сети по умолчанию, и даже с указанной ссылкой они также должны совместно использовать сеть.
«Примечание: Если вы определяете как ссылки, так и сети, службы со ссылками между ними должны использовать по крайней мере одну общую сеть для обмена данными. Мы рекомендуем вместо этого использовать сети «. из документации
Комментарии:
1. Я удалил ссылку и добавил сеть, по-прежнему получая ошибку 404.
2. Я исправил проблемы с прокси. Я использовал неправильный порт в конфигурации nginx по умолчанию. Это должен быть proxy_pass ship-api:9080 (не 9082), но теперь весь трафик проходит через сервер liberty .Пример:localhost: 81 и localhost: 81/sxrw-main/api/v1/terminals.
3. Работает ли это по-прежнему, если у вас есть исправленный nginx.conf, но старая конфигурация ссылки в docker-compose.yml?
4. Да, у меня все хорошо после изменения конфигурации ng. Я добавил новое местоположение с помощью / и корневой папки.