kubernetes +入口控制器+让加密+阻止混合内容

感谢您抽出宝贵的时间阅读本文章。

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

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

举一个更具体的例子,我试图放置应用程序书架,如果我不活跃tls,我会正确地看到一切。另一方面,如果我激活tls,我会看到没有css的所有内容,并且在控制台中,我看到有些文件已被浏览器阻止。

kubernetes +入口控制器+让加密+阻止混合内容

另一方面,如果我进行端口转发,则可以正确看到它(http://localhost:8080/)->注意http而不是https

kubernetes +入口控制器+让加密+阻止混合内容

我也用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

非常感谢您的时间

huhailongshiwo 回答:kubernetes +入口控制器+让加密+阻止混合内容

我找到了解决方案,我根据情况为其他人写了它。

问题出在我没有在部署中写的一个环境变量上。

APP_URL。

在书架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)
本文链接:https://www.f2er.com/3002076.html

大家都在问