运行 Asp.net 核心网站在 Docker 上使用 https 时出错

Error when running Asp.net core website using https on Docker

我是 运行 Docker 上的一个 Asp.net 核心站点,在不使用 https 时可以正常工作。使用 https 时出现错误。

错误是由这个环境变量引起的:ASPNETCORE_URLS=https://+:443。我见过许多类似问题的解决方案,他们的解决方案是简单地删除它。删除 https 允许服务器启动,但我无法从我的浏览器连接到它。话又说回来,我仍在寻找 https 有效的解决方案,而不仅仅是通用解决方案。

这是错误:link。如果我错了请纠正我,但我认为这不是证书问题。我通常很擅长解释错误,但我一辈子都无法理解这个错误。

我的 docker 文件与 microsoft example dockerfile 几乎相同,只是名称和路径不同。

这是我的 docker-compose.yml 文件。即使我从环境中删除 443 和 80,也会发生同样的错误。变量。

version: "3.0"
services:
  webapp:
    image: webapp
    stdin_open: true
    tty: true
    environment:
      - ASPNETCORE_URLS=https://+:443;http://+:80
      - ASPNETCORE_Kestrel__Certificates__Default__Password=crypticpassword
      - ASPNETCORE_HTTPS_PORT=443
      - ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
    volumes:
      - /home/user/.aspnet/https:/https/
    network_mode: "host"

手动运行使用docker run-e环境变量等时会发生同样的错误

感谢 Hans Kilian。

将环境变量 TZ 设置为您的时区。

  • 对于 docker 运行:TZ="Asia/example"
  • 对于 docker-compose:只需删除引号