gpt4 book ai didi

ssl - kubernetes + 入口 Controller + letsencrypt + 阻止的混合内容

转载 作者:太空宇宙 更新时间:2023-11-03 15:11:31 24 4
gpt4 key购买 nike

感谢您花时间阅读本文。

我正在 digitalocean 中测试一个 kubernetes 集群。

我已经安装了带有 cert-manager 和 letsencript 的入口 Controller (我遵循了本指南 https://cert-manager.io/docs/tutorials/acme/ingress/ ),当我启动一些部署时,我遇到了不在根目录中的文件问题(阻止加载混合事件内容)。

举一个更具体的例子,我正在尝试放置应用程序 bookstack,如果我没有激活 tls,我会正确地看到所有内容。另一方面,如果我激活 tls,我会看到没有 css 的所有内容,并且在控制台中我会看到浏览器已阻止的文件。 enter image description here

另一方面,如果我进行端口转发,我会正确地看到它 ( http://localhost:8080/ ) -> 请注意 http 而不是 https enter image description here

我也用wordpress做过测试,有同样的问题,主页没有样式。在这种情况下,对于 wordpress 有一个插件,如果你进入后端(浏览没有 css 的页面是一种折磨)并安装它就解决了问题(这是插件 https://es.wordpress.org/plugins/ssl-insecure-content-fixer/ )。在插件上,我必须检查“HTTP_X_FORWARDED_PROTO”才能使其正常工作。但我意识到这是一个反复出现的问题,我认为有些概念我不清楚,我也不太清楚我必须做什么。

这是一个入口 Controller 的例子

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 repository 上讲一下:

-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)

关于ssl - kubernetes + 入口 Controller + letsencrypt + 阻止的混合内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59118205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com