【发布时间】:2020-03-25 20:14:13
【问题描述】:
感谢您花时间阅读本文。
我正在 digitalocean 中测试一组 Kubernetes。
我已经安装了一个带有 cert-manager 和 letsencript 的入口控制器(我遵循了本指南 https://cert-manager.io/docs/tutorials/acme/ingress/),当我启动一些部署时,我遇到了不在根目录中的文件的问题(阻止加载混合活动内容)。
举一个更具体的例子,我正在尝试放置应用程序 bookstack,如果我没有激活 tls,我会正确看到所有内容。另一方面,如果我激活 tls,我会看到没有 css 的所有内容,并且在控制台中我看到有些文件已被浏览器阻止。
另一方面,如果我进行端口转发,我会正确看到它 (http://localhost:8080/) -> 请注意 http 而不是 https
我也用wordpress做了测试,同样的问题,主页没有样式。在这种情况下,对于 wordpress 有一个插件,如果你进入后端(浏览没有 css 的页面是一种折磨)并安装它可以解决问题(这是插件https://es.wordpress.org/plugins/ssl-insecure-content-fixer/)。在插件上,我必须检查“HTTP_X_FORWARDED_PROTO”才能使其工作。 但我意识到这是一个反复出现的问题,而且我认为有些概念对我来说不是很清楚,我不太清楚我必须做什么。
这是入口控制器的示例
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: bookstack
annotations:
kubernetes.io/ingress.class: "nginx"
# cert-manager.io/issuer: "letsencrypt-staging"
cert-manager.io/issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- k1.athosnetwork.es
secretName: tls-bookstack
rules:
- host: k1.athosnetwork.es
http:
paths:
- path: /
backend:
serviceName: bookstack
servicePort: 80
非常感谢您的宝贵时间
【问题讨论】:
标签: ssl kubernetes lets-encrypt nginx-ingress