kubernetes +入口控制器+加密+博克混合内容

问题描述 投票:0回答:2

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

我正在Digitalocean中测试kubernetes集群。

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

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

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

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

非常感谢您的时间

感谢您抽出宝贵的时间阅读本文档。我正在Digitalocean中测试Kubernetes集群。我已经安装了带有cert-manager和letencript的入口控制程序(我遵循了本指南https:// ...

ssl kubernetes lets-encrypt nginx-ingress
2个回答
0
投票

您也可以尝试以下方法,效果很好。


0
投票

Tushar Mahajan感谢您的回复。但是我想我不能很好地解释这个问题。我可以使用let encript来请求证书,在世界示例中,例如httpd docker image,我只能看到它“起作用”,并且没有资产可以通过ssh毫无问题地看到该网页。问题是当页面上有诸如CSS或图像或js之类的资产时。在图像上,我在控制台上看到警告,但看到了图像。这是因为图像不是活动内容,但是CSS和JS在控制台上看到一个错误(不是警告),提示我该内容被阻止。有关混合内容的更多信息:https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content

© www.soinside.com 2019 - 2024. All rights reserved.