ssl - kubernetes + 入口控制器 + 让我们加密 + 阻止混合内容
问题描述
感谢您抽时间阅读。
我正在 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
非常感谢你花时间陪伴
解决方案
我找到了解决方案,我根据我的情况为其他人写了它。
问题出在我没有在部署中编写的一个环境变量上。
APP_URL 。
在 bookstack dockerhub 存储库上谈论它:
-e APP_URL=http://your.site.here.xyz for specifying the url your application will be accessed on (required for correct operation of reverse proxy)
推荐阅读
- javascript - 事件处理/捕获
- javascript - 地图已初始化时更改 Leaflet 中的手势处理
- c++ - 使用指向填充有 utf 16 纯文本的缓冲区的指针
- c# - 如何在 EF 中重新迁移已迁移的 dbcontext
- c# - DateRange 搜索在弹性搜索 NEST api 中不起作用
- css - 如何修复带有侧边栏和产品描述但没有描述的单个产品页面的店面宽度被截断
- r - 按日期累积
- react-native - React Native List and Grid - 如何实现图标的活动颜色
- python - 如何在 Pyspark 会话中释放内存
- android - 我的手机在连接到 ADB 时失去了网络信号