Nginx Kubernetes Ingress 不提供 .ttf 或 .woff 文件

Nginx Kubernetes Ingress does not serve .ttf or .woff files

我认为我的 Nginx Kubernetes 入口未正确配置为提供 .ttf 文件。

在 safari 上工作正常,但在 chrome 我有一个关于 cors allow 的错误。 我检查了部署入口上的 .conf Nginx 文件,“more_set_headers Access-Control-Allow-Origin: * 已配置。

我想我需要在 mime.types 或 gzip 配置上添加一些注释。

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: cc-i
      annotations:
        nginx.ingress.kubernetes.io/enable-cors: "true"
    spec:
      rules:
      - host: myapp.com
        http:
          paths:
          - backend:
              serviceName: cc-s
              servicePort: 80
      - http:
          paths:
          - backend:
              serviceName: cc-s
              servicePort: 80

验证您进行的安装类型并验证您具有 nginx-config configmap。参见 docs

如果没有,创建一个并在 data 区域设置:

data:
  gzip_types: application/x-font-ttf application/font-woff

如果您需要更多 gzip_type,您也可以添加。 Here 是默认值。

如果问题是像您所说的 gzip 配置问题,这将解决您的问题。

部分CDN服务有cors配置需要配置。 在我的例子中,我在我的 digitalocean space 上添加了一个 cors 授权域。 这在 firefox 和 chrome.

上解决了