И проекты, и база данных находятся в Docker в локальной среде разработки.
Решение содержит:
- Несколько файлов
- Docker Compose
- DataLayer API
- FrontEnd API
- Другие проекты, такие как уровень React и модульное тестирование
В моем файле etc/hosts я настроил:
Код: Выделить всё
127.0.0.1 FrontEnd
127.0.0.1 DataLayer
Код: Выделить всё
https://FrontEnd:8083/
https://DataLayer:8081/
Код: Выделить всё
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout DataLayer.key -out DataLayer.crt -subj "/CN=DataLayer"
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout FrontEnd.key -out FrontEnd.crt -subj "/CN=FrontEnd"
Код: Выделить всё
version: '3.4'
networks:
marketApp:
driver: bridge
services:
markettooldatalayer:
image: ${DOCKER_REGISTRY-}markettooldatalayer
build:
context: .
dockerfile: MarketToolDataLayer/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=8080
- ASPNETCORE_HTTPS_PORTS=8081
ports:
- "8080:8080"
- "8081:8081"
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/home/app/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/home/app/.aspnet/https:ro
- ./certs/DataLayer.crt:/etc/ssl/certs/DataLayer.crt
- ./certs/DataLayer.key:/etc/ssl/private/DataLayer.key
- ./certs/FrontEnd.crt:/etc/ssl/certs/FrontEnd.crt
user: root
networks:
- marketApp
markettoolfrontend.server:
image: ${DOCKER_REGISTRY-}markettoolfrontendserver
build:
context: .
dockerfile: MarketToolFrontEnd/MarketToolFrontEnd.Server/Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_HTTP_PORTS=8082
- ASPNETCORE_HTTPS_PORTS=8083
ports:
- "8082:8082"
- "8083:8083"
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/home/app/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/home/app/.aspnet/https:ro
- ./certs/FrontEnd.crt:/etc/ssl/certs/FrontEnd.crt
- ./certs/FrontEnd.key:/etc/ssl/private/FrontEnd.key
- ./certs/DataLayer.crt:/etc/ssl/certs/DataLayer.crt
user: root
networks:
- marketApp
Код: Выделить всё
"Kestrel": {
"Endpoints": {
"Https": {
"Url": "https://*:8081",
"Certificate": {
"Path": "/etc/ssl/certs/DataLayer.crt",
"KeyPath": "/etc/ssl/private/DataLayer.key"
}
}
}
},
Код: Выделить всё
https://DataLayer:8081
Соединение отклонено (datalayer:8081)
Обновление: в одной группе/сервисе контейнеры разные:

Также добавлено
Код: Выделить всё
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls13;
Код: Выделить всё
PingЧто мне здесь не хватает? Любой комментарий, ответ или идея будут оценены по достоинству.
Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/786 ... ssl-in-net
Мобильная версия