首页 > 解决方案 > AWS EKS - 无法访问 LoadBalancer 后面的 apache httpd

问题描述

我已经在容器中部署了一个 apache httpd 服务器,并试图通过 LoadBalancer 将其暴露在外部。虽然当我尝试访问负载均衡器公开的外部 URL 时,我可以登录到本地主机并获得预期的响应(curl -X GET localhost),但我从服务器收到了一个空回复:

curl -X GET ad8d14ea0ba9611e8b2360afc35626a3-553331517.us-east-1.elb.amazonaws.com:5000
curl: (52) Empty reply from server

知道我缺少什么 - 是否有某种我不知道的额外重定向正在进行?

yaml在这里:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apache
labels:
  app: apache
spec:
  replicas: 1
selector:
  matchLabels:
    pod: apache
template:
  metadata:
    name: apachehost
    labels:
      pod: apache
    spec:
      containers:
      - name: apache
        image: myrepo/apache2
      ports:
      - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: apache
labels:
  app: apache
spec:
  type: LoadBalancer
  selector:
    pod: apache
  ports:
    - name: port1
      port: 5000
      targetPort: 80

标签: apacheamazon-web-serviceskubernetes

解决方案


检查您的 aws 负载均衡器,在 LB 的安全组中打开 5000 端口。如在约束规则中。

检查负载均衡器的入站规则。


推荐阅读