nginx 入口控制器忽略 css 和 js 文件 - google kuberenetes 引擎

2023-12-12

我创建了一个链接到两个服务的 nginx 入口控制器。网站工作正常,但 js 和 css 文件未加载到 HTML 页面 (404) 错误中。我使用 helm 创建了 nginx pod,并将 nginx 配置包含在 ingress.yaml 中。当我使用 nginx 时出现错误,我在本地运行 docker 镜像,它工作正常。另外,如果我将服务类型设置为负载均衡器,则应用程序可以正常工作。

![这是网页中的错误 ]1

enter image description here

这是 GKE 服务:

enter image description here

入口.yaml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  creationTimestamp: 2019-07-08T08:35:52Z
  generation: 1
  name: www
  namespace: default
  resourceVersion: "171166"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/www
  uid: 659594d6-a15b-11e9-a671-42010a980160
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - host: twitter.domain.com
    http:
      paths:
      - backend:
          serviceName: twitter
          servicePort: 6020
  - host: events.omarjs.com
    http:
      paths:
      - backend:
          serviceName: events
          servicePort: 6010
  - http:
      paths:
      - backend:
          serviceName: twitter
          servicePort: 6020
        path: /twitter
      - backend:
          serviceName: events
          servicePort: 6010
        path: /events
  tls:
  - secretName: omarjs-ssl
status:
  loadBalancer: {}

推特.yaml:

apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2019-07-07T20:43:49Z
  labels:
    run: twitter
  name: twitter
  namespace: default
  resourceVersion: "27299"
  selfLink: /api/v1/namespaces/default/services/twitter
  uid: ec8920ca-a0f7-11e9-ac47-42010a98008f
spec:
  clusterIP: 10.7.253.177
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 31066
    port: 6020
    protocol: TCP
    targetPort: 3020
  selector:
    run: twitter
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2019-07-07T20:43:49Z
  labels:
    run: twitter
  name: twitter
  namespace: default
  resourceVersion: "27299"
  selfLink: /api/v1/namespaces/default/services/twitter
  uid: ec8920ca-a0f7-11e9-ac47-42010a98008f
spec:
  clusterIP: 10.7.253.177
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 31066
    port: 6020
    protocol: TCP
    targetPort: 3020
  selector:
    run: twitter
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

您可以通过添加额外的入口规则来解决您的问题,这些规则会将静态文件的请求路由到正确的目录。据我在所附的打印屏幕上看到,您的静态文件位于css and js分别目录,所以你需要添加 4 个额外的规则到你的ingress.yaml。该片段的最终版本可能如下所示:

  - http:
      paths:
      - backend:
          serviceName: twitter
          servicePort: 6020
        path: /twitter
      - backend:
          serviceName: twitter
          servicePort: 6020
        path: /css
      - backend:
          serviceName: twitter
          servicePort: 6020
        path: /js
      - backend:
          serviceName: events
          servicePort: 6010
        path: /events
      - backend:
          serviceName: events
          servicePort: 6010
        path: /css
      - backend:
          serviceName: events
          servicePort: 6010
        path: /js
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx 入口控制器忽略 css 和 js 文件 - google kuberenetes 引擎 的相关文章

随机推荐

  • 无法在 mac 上导入 gi 模块 python 3.6

    我正在使用 python 3 6 在 mac 上集成 gstreamer 和 pocketsphinx 然而 第一行代码 从 gi 导入 pygtkcompat 引发错误 命令 python3 demoapp chinese py retu
  • 设计类别、子类别和相关书籍的数据库

    我知道对于与我所问的问题类似的几个问题已经有了一些答案 但他们的方法看起来并不令人信服 我的问题是如何为可以包含书籍的类别和也可以包含书籍的子类别构建数据库 我已经设计了一个数据库 但不相信这种方法 因此 如果有经验的人给我一些建议或改进或
  • 如何在 iPhone 上更长时间地显示启动画面?

    如何在 iPhone 上显示比默认时间更长的启动屏幕 阅读 Apple iPhone 人机界面指南 HIG 启动画面 不应该用于品牌推广或显示徽标 它应该看起来像应用程序的默认状态 因此它看起来可以快速启动 让它在那里停留更长时间将违反 H
  • 从 C 中的 char 数组获取数字值

    我有这个字符数组 char movimiento L30 G10 L50 G 45 L 10 G50 我想获取字母后面的数字的值 L 并将它们存储到整数变量中以供以后使用 eg 30 50 10 我尝试过这样做 因为 ASCII 代码数字从
  • CSS 边距计算

    虽然我在理论上确实了解整个 CSS 盒子模型 如填充 边框 边距 但我的理解仅限于这些单独的部分 我经常对浏览器实际上如何呈现它感到困惑 例如 就像padding是在边框之内一样 但是margin是如何计算的呢 是相对于盒子边框还是相对于屏
  • 如何使用 NativeActivity 写入内部存储文件系统?

    我正在将纯 C 游戏移植到 Android 由于我的目标是 Android 3 0 平板电脑 因此我选择使用 NativeActivity 以完全避免使用 Java 但是 我看不到任何允许我写入设备内部存储的功能 对 fopen 的调用将失
  • JAXB 列出根元素中的名称空间(-> 每个元素)

    默认情况下 jaxb 2 在编组期间列出根元素中的所有 所有可能需要的 命名空间 有没有办法在每个元素而不是根元素中描述名称空间 它还解决了 不必要的名称空间 的问题 这对我来说也很重要 任何建议表示赞赏 None
  • 如何通过PHP抓取需要POST数据的网站?

    我正在尝试抓取一个接受 POST 数据的网站以返回正确的页面 无 POST 则返回 15 个结果 有 POST 数据则返回所有结果 目前我的代码如下所示 curl curl init curl setopt curl CURLOPT URL
  • java.lang.IllegalStateException:无法在父级或祖先上下文中找到 android:onClick 属性的方法

    我正在尝试添加 onClick 方法front 到我的按钮 但是 当我单击按钮时 它返回此错误 java lang IllegalStateException Could not find method front View in a pa
  • 如何将应用程序片段设置为仅纵向模式?

    我有一个 Android 应用程序 它有一个主要活动和 3 个选项卡片段 我希望应用程序始终保持纵向模式 但我似乎无法正常工作 这是我尝试过的 根据另一篇堆栈溢出帖子 但我不确定我做错了什么 如果使用片段 它是否需要有所不同
  • IntelliJ IDEA:如何将项目库与pom.xml中的依赖项同步?

    当我更改项目 具有多个模块 的 pom xml 之一中的依赖项版本时 我会在项目结构的 库 部分中看到新版本和旧版本 例如 最近我将Drools从5 4版本更改为5 5版本 当我进入 库 部分时 我看到了这两个库 因此我手动删除了 5 4
  • SSL 操作失败,代码 1:dh 密钥太小

    我正在通过 SSL 连接到我的数据库 Google Cloud SQL 我使用 codeigniter 3 0 来执行此操作 尽管 mysqli 驱动程序进行了一些修改以允许此功能 几个月来一直运作良好 然而它just开始返回此警告 Mes
  • 无法从“浮动”转换?浮

    我有这个代码 public float InputCutOffFrequency get set fc public float InputF1 get set public float InputF2 get set public flo
  • 将 Google 地图 v2 转换为 google 地图 v3

    我的网站当前正在运行 Google 地图 API v2 我想转换为新的 Google 地图 API v3 下面的代码需要做哪些修改 最近收到一条消息 说v2被禁用了 所以我需要用当前功能修改现有脚本
  • EnumDataTypeAttribute 应该在使用实体框架的 .NET 4.0 中正常工作吗?

    我有一个枚举 我想将其作为某种值保留到底层数据库中 以便我可以来回调用它 我读过一些文章 建议创建一个枚举包装器 其中定义了静态隐式运算符 并使用 ComplexType 对象映射进行映射 如下面的链接所述 如何在 EF4 中伪造枚举 这个
  • 让 AppleScript 填写表单

    我遇到的问题让我生病了 我正在研究一个苹果脚本 它会引发填写表单的操作 我认为我在等待网站 100 加载时遇到了问题 该脚本激活站点但不填写表单 请引导我并帮助制定这个懒惰的脚本 tell application Safari set lo
  • 如何控制 python 解释器中的数字格式?

    我经常使用 python 解释器进行快速数值计算 并希望使用指数表示法等自动打印所有数值结果 有没有办法为整个会话设置这个 例如 我想要 gt gt gt 1 e12 1 0e 12 not gt gt gt 1 e12 100000000
  • PDO:使用准备好的语句选择返回列名

    我正在尝试使用已准备好列的准备好的语句 i e SELECT FROM users 现在如果我把这通常可以工作 SELECT id FROM users 但是执行第一个语句时 值是列名 id id 0 0 我做错了什么 或者这可能吗 不 您
  • 将 int 分成低位整数

    我有一个 30 60 范围内的随机整数 我使用它randint 30 60 假设它是 40 我想将这个数字拆分为 7 个随机整数 例如 5 5 5 5 5 5 10 是一个有效的结果 但有很多可能的解决方案 就像这个一样 6 6 6 6 6
  • nginx 入口控制器忽略 css 和 js 文件 - google kuberenetes 引擎

    我创建了一个链接到两个服务的 nginx 入口控制器 网站工作正常 但 js 和 css 文件未加载到 HTML 页面 404 错误中 我使用 helm 创建了 nginx pod 并将 nginx 配置包含在 ingress yaml 中