nginx - nginx入口中的cor域白名单
问题描述
我正在尝试向 Kubernetes Nginx-ingress 添加域白名单,因此它允许多个域来源。我尝试过这样的事情:
nginx.ingress.kubernetes.io/configuration-snippet: |
set $cors '';
if ($http_origin ~ '^https?://(localhost:4000|www\.example.com\.com)$') {
set $cors 'true';
}
# The above is used only if map is not used
# --------------------------------------------------
if ($cors = 'true') {
more_set_headers 'Access-Control-Allow-Origin' "$http_origin" always;
more_set_headers 'Access-Control-Allow-Credentials' 'true' always;
more_set_headers 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
more_set_headers 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
# required to be able to read Authorization header in frontend
#more_set_headers 'Access-Control-Expose-Headers' 'Authorization' always;
}
if ($request_method = 'OPTIONS') {
# Tell client that this pre-flight info is valid for 20 days
more_set_headers 'Access-Control-Max-Age' 1728000;
more_set_headers 'Content-Type' 'text/plain charset=UTF-8';
more_set_headers 'Content-Length' 0;
return 204;
}
但我得到一个 net::ERR_HTTP2_PROTOCOL_ERROR,这是处理这个错误的方法吗?
解决方案
推荐阅读
- php - 如何使用 PHP 在 Firebase Storage 中创建文件夹?
- php - 图像类在 PHP 中返回空 glob() 数组
- google-chrome - WebGL:仅软件,硬件加速不可用(在 chrome 上,但不在 chromium 上)
- grep - 使用 grep 时允许搜索关键字多长时间
- sql - 子查询中的列总和
- unit-testing - 如何为另一个包中的方法编写模拟代码
- javascript - Angular 8+Ionic4 在开发过程中将所有内容捆绑到一个 JS 文件中
- postgresql - postgresql 全文邻近 (`<->`) 搜索 json 文档
- php - 在嵌套数组 php 转储中显示第二个数组的结果
- node.js - 将firebase添加到应用程序和服务器时的initializeApp