linux - Kunne ikke bestemme https-porten for omdirigering i Docker

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at distribuere en asp.net-core webapi-tjeneste, som er udsat for 80 port ved hjælp af:


docker run --rm -p 80:80 --name radicadorrest -it radicadorrest


fejl:



  advare:
  Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager [[35]]
       Ingen XML-krypterer konfigureret. Nøgle {e60978fd-16bc-4ff2-8525-39b5d0c36be5} kan vedblive ved lagring i ukrypteret form. Hosting miljø: Produktions indhold root path:
  /app Nu lytter på: http://[[::]]: 80 Program startet. Trykke
  Ctrl + C for at lukke. [4]

  
  advare:
  Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware app.UseHttpsRedirection();
       Kunne ikke bestemme https-porten for omdirigering. Programmet lukker ned ...



Jeg har forsøgt at bruge forskellige porte, men jeg får den samme fejl.


Docker version:



  Klient: Version: 17.09.1-ce

  API-version: 1.32

  Gå version: go1.8.3

  Git commit: 19e2cf6

  Bygget: Tue Dec 7 22:25:13 2017

  OS/Arch: linux/amd64

  
  Server: Version: 17.09.1-ce

  API version: 1.32 (minimum version1.12)

  Gå version: go1.8.3

  Git commit: 19e2cf6

  Bygget: Tue Dec 7 22:26:35 2017 OS/Arch: linux/amd64 Eksperimentelle: Falske



Jeg har også forsøgt på Windows med det samme resultat.

Bedste reference


De to advarsler er helt uafhængige.


Til DataProtection-advarslen anbefaler jeg at følge vejledningen her på de officielle ASP.Net Core-dokumenter. Hvis du er interesseret i at grave dybere i forhold til den relevante kildekode og beslutning, kan du se denne relevante ASP.Net GitHub PR. [5] [6]


Til https omdirigeringsadvarsel anbefaler jeg, at du blot fjerner https omdirigeringspolitikken fra filen startup.cs, som typisk defineres via app.UseHttpsRedirection();, medmindre du reelt bruger denne politik til din container og i dette tilfælde er du d skal faktisk opsætte certifikaterne og udsætte HTTPS-porten på din container. [7]

Andre referencer 1


Din port angiver kun http-protokollen ikke https, du skal måske finde en måde at få dockeren til kun at se 80 og ignorere 443-porten, som er til https