代码之家  ›  专栏  ›  技术社区  ›  fantastischIdee

如何让Azure容器应用程序接受新的。NET 8默认http端口8080?

  •  0
  • fantastischIdee  · 技术社区  · 9 月前

    .NET8将docker容器内的默认端口从80更改为8080。但是Azure容器应用程序希望应用程序在容器内的端口80上侦听。

    我无法在docker中将默认端口更改为端口80。如果我尝试这样做,那么我会得到一个套接字异常异常“Permission Denied”,如下所述: socketexception-permission-denied-when-trying-to-bind-port-80-or-443-to-kestrel

    这两款产品都来自微软。

    0 回复  |  直到 9 月前
        1
  •  1
  •   fantastischIdee    8 月前

    .NET8linux容器不再在用户“root”下运行。因为端口80是 Privileged port ,你不能让Kestrel监听80号端口。

    您可以将TargetPort ingress选项设置为8080。如果您正在使用Azure容器应用程序的HealthCheck探测,您还必须将这些端口设置为8080。

    推荐文章