ssl - 在 AWS Kubernetes 上为 traefik 控制器设置 SSL 证书问题
问题描述
我正在 kubernetes 上部署一个 Web 应用程序(一组相互通信的节点服务器)。我使用 Traefik 控制器,作为负载平衡器以及集群中的内部通信。我通过 AWS 购买了域名,并通过路由 53 通过简单的负载均衡器进行了设置。它对 http:// domain-name
.com 非常有效。我正在尝试设置 SSL 证书(从外部供应商处购买,非 AWS),以使网站成为 https。但它不起作用。我总是最终得到连接超时。但是http方式工作得很好。
- 我从我公司的 IT 部门获得了 SSL 证书,其中包含 csr、密钥、临时文件。为此,在 AWS 证书管理器中创建了一个新配置。
- Traefik 入口控制器现在配置为启用 SSL,强制执行 SSL,以及证书正文和密钥集。我正在使用 traefik helm 图表,我将它们保存在 values.yaml 中。
- 安装 traefik 控制器后生成的负载均衡器链接使用在步骤 (1) 中创建的 AWS 证书管理器配置进行配置。在负载均衡器设置中,在 AWS 控制台中,打开 https 端口。
- 此外,我在入口设置期间配置了一个包含 ssl 证书的秘密对象。
对于初学者,这是示例应用程序,我正在尝试通过 traefik 控制器通过 https 访问。
apiVersion: v1
kind: Service
metadata:
name: hello-kubernetes
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
selector:
app: hello-kubernetes
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-kubernetes
spec:
replicas: 1
selector:
matchLabels:
app: hello-kubernetes
template:
metadata:
labels:
app: hello-kubernetes
spec:
containers:
- name: hello-kubernetes
image: gcr.io/hello-minikube-zero-install/hello-node
ports:
- containerPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: traefik
traefik.frontend.rule.type: PathPrefixStrip
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: hello-kubernetes
servicePort: 80
tls:
- secretName: traefik-ui-tls-cert
就 traefik 控制器的 helm chart 而言,
ssl:
enabled: true
enforced: false
permanentRedirect: false
upstream: false
insecureSkipVerify: false
generateTLS: false
defaultSANList: []
defaultIPList: []
defaultCert: <crt from IT> (which I converted from csr file that IT gave me using openssh tool)
defaultKey: <key from IT>
在 aws 控制台中,对于负载均衡器,在侦听器选项卡下,我添加了以下配置。
HTTPS-443-HTTP-80-e1e4096b-6a31-4b2d-9d33-9f3f94ab0320 (ACM) Change
我应该可以在 https 上访问我的网站。但是我只能在http上访问它。有什么建议么?
解决方案
推荐阅读
- python - 连续过度放松
- python - regex - 在 Python 3 中使用正则表达式制作分词器
- c# - 在 c# 中睡眠一个方法而不是整个程序
- java - 通过java中的setter和getter访问内部方法中的值
- spring-boot - 我在 Spring Boot 中使用 @Autowired 接口服务返回 null
- arduino - Pi to Feather 蓝牙低功耗通信
- python - 合并排序 1 个数组,对于每个更改,它必须影响另一个列表
- ios - iOS 作为商家从 Apple Pay 接收付款
- c++ - 如何在不更改所有代码以使用 this-> 的情况下避免旧模板重库中的“未声明”错误?
- python - ValueError 输入并尝试将输入值转换为 int