From f5c12d6018e0745734f295c01919e27b3e4f546e Mon Sep 17 00:00:00 2001 From: rafsanulhasan Date: Sat, 1 Sep 2018 16:29:09 +0600 Subject: [PATCH] 1. Edited docker project a. Added HTTPS endpoints b. Added port forwarding rules b. Use shared volumes for https certificates and user secrets 2. Docker Files a. Exposed 443 port for SSL --- docker-compose.override.yml | 26 ++++++++++++++----- src/Services/Identity/Identity.API/Dockerfile | 1 + src/Web/WebMVC/Dockerfile | 1 + src/Web/WebSPA/Dockerfile | 1 + 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 969cfb922..284b518ab 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -30,9 +30,9 @@ services: identity.api: environment: - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://0.0.0.0:80 - - SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104 - - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105/xamarincallback #localhost do not work for UWP login, so we have to use "external" IP always + - ASPNETCORE_URLS=http://+:80;https://+:443 + - SpaClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5104;http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:4104 + - XamarinCallback=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:4105/xamarincallback #localhost do not work for UWP login, so we have to use "external" IP always - ConnectionString=${ESHOP_AZURE_IDENTITY_DB:-Server=sql.data;Database=Microsoft.eShopOnContainers.Service.IdentityDb;User Id=sa;Password=Pass@word} - MvcClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5100 #Local: You need to open your local dev-machine firewall at range 5100-5110. - LocationApiClient=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5109 @@ -46,6 +46,10 @@ services: - OrchestratorType=${ORCHESTRATOR_TYPE} ports: - "5105:80" + - "4105:443" + volumes: + - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw + - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw basket.api: environment: @@ -277,8 +281,8 @@ services: webspa: environment: - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://0.0.0.0:80 - - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105. + - ASPNETCORE_URLS=http://+:80;https://+:443 + - IdentityUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:4105 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105. - PurchaseUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202 - MarketingUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5203 - CatalogUrlHC=http://catalog.api/hc @@ -293,13 +297,17 @@ services: - SignalrHubUrl=http://${ESHOP_EXTERNAL_DNS_NAME_OR_IP}:5202 ports: - "5104:80" + - "4104:443" + volumes: + - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw + - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw webmvc: environment: - ASPNETCORE_ENVIRONMENT=Development - - ASPNETCORE_URLS=http://0.0.0.0:80 + - ASPNETCORE_URLS=http://+:80;https://+:443 - PurchaseUrl=http://webshoppingapigw - - IdentityUrl=http://10.0.75.1:5105 # Local Mac: Use http://docker.for.mac.localhost:5105 || Local Windows: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser. || #Remote access: Use ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser. + - IdentityUrl=http://10.0.75.1:4105 # Local Mac: Use http://docker.for.mac.localhost:5105 || Local Windows: Use 10.0.75.1 in a "Docker for Windows" environment, if using "localhost" from browser. || #Remote access: Use ${ESHOP_EXTERNAL_DNS_NAME_OR_IP} if using external IP or DNS name from browser. - MarketingUrl=http://webmarketingapigw - CatalogUrlHC=http://catalog.api/hc - OrderingUrlHC=http://ordering.api/hc @@ -314,4 +322,8 @@ services: - UseLoadTest=${USE_LOADTEST:-False} ports: - "5100:80" + - "4100:443" + volumes: + - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:rw + - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:rw diff --git a/src/Services/Identity/Identity.API/Dockerfile b/src/Services/Identity/Identity.API/Dockerfile index 3931a135b..817de19c9 100644 --- a/src/Services/Identity/Identity.API/Dockerfile +++ b/src/Services/Identity/Identity.API/Dockerfile @@ -2,6 +2,7 @@ ARG NODE_IMAGE=node:8.11 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 +EXPOSE 443 FROM microsoft/dotnet:2.1-sdk as dotnet-build WORKDIR /src diff --git a/src/Web/WebMVC/Dockerfile b/src/Web/WebMVC/Dockerfile index 9847ad772..758d6cec9 100644 --- a/src/Web/WebMVC/Dockerfile +++ b/src/Web/WebMVC/Dockerfile @@ -2,6 +2,7 @@ ARG NODE_IMAGE=node:8.11 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 +EXPOSE 443 FROM microsoft/dotnet:2.1-sdk as dotnet-build WORKDIR /src diff --git a/src/Web/WebSPA/Dockerfile b/src/Web/WebSPA/Dockerfile index 4e806786c..73788bd8c 100644 --- a/src/Web/WebSPA/Dockerfile +++ b/src/Web/WebSPA/Dockerfile @@ -2,6 +2,7 @@ ARG NODE_IMAGE=node:8.11 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 +EXPOSE 443 FROM microsoft/dotnet:2.1-sdk as dotnet-build WORKDIR /src