【问题标题】:kubernetes + ingress controller + lets encrypt + block mixed contentkubernetes + 入口控制器 + 让我们加密 + 阻止混合内容
【发布时间】: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


    【解决方案1】:

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

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2019-08-02
      • 2019-06-09
      • 2019-06-17
      • 2016-11-05
      • 2018-10-12
      • 2014-01-03
      • 1970-01-01
      • 2018-12-04
      • 2017-01-23
      相关资源
      最近更新 更多