开发者社区 > 云原生 > 中间件 > 正文
2
0
分享

Tengine中针对跨域,options请求nginx就统一拦掉,直接同意指定域名跨域, 什么风险?

"Tengine中方式一
针对跨域,options请求nginx就统一拦掉, 直接同意指定域名跨域, 这种配置跨域方式建议吗?有什么风险?
server {
listen 80;

if ($request_method = 'OPTIONS') {
    add_header 'Access-Control-Allow-Origin' $http_origin;
    add_header 'Access-Control-Allow-Methods' $http_access_control_request_method;
    add_header 'Access-Control-Allow-Headers' $http_access_control_request_headers;
    add_header 'Access-Control-Max-Age' 1728000;
    add_header 'Content-Type' 'text/plain; charset=utf-8';
    add_header 'Content-Length' 0;
    return 204;
}

}

方式二
针对跨域,nginx全局配置,Origin指定域名跨域,这种请求最终后端会感知到,这种方式建议吗?

server {
listen 80;

add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Headers     $http_access_control_request_headers;
add_header Access-Control-Allow-Methods     $http_access_control_request_method;
add_header Access-Control-Allow-Origin  $http_origin;

}
还有一个问题, 就是比如访问非法路径 /aaa/bbb/ccc 路径时,Nginx直接允许的话,后端就会处理这个路由, 遇到攻击时会不会有额外开销?"

展开
收起
十一0204 2023-12-05 20:45:45 164 0 发布于江西
举报
飞天免费试用计划
领取免费云资源,开启云上实践第一步
性能测试 PTS
5000VUM额度
额度30个日内有效
任务调度 XXL-JOB 版免费试用
400 元额度,开发版规格
额度1个月内有效
Serverless 应用引擎免费试用套餐包
4320000 CU,有效期3个月
额度3个月内有效
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Nginx中,对于跨域请求,特别是预检请求(options请求),有一种常见的配置方式,那就是直接同意来自指定域名的跨域请求。然而,这种做法可能存在一些潜在风险。

    首先,如果服务器端错误地允许了未经授权的域名进行跨域访问,那么这可能导致敏感数据泄露或被恶意利用。因此,建议仅允许可信赖的域名进行跨域资源共享。

    2023-12-06 14:28:01 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论
  • 意中人就是我呀!

    "1 : options, 是需要专门处理的。
    add_header Access-Control-Allow-Origin $http_origin always; 上面的header只有2xx时能正常带出。如果4xx 5xx不能正常带出。会。此群整理至钉群“Tengine和Tengine-Ingress开源交流群”。"

    2023-12-05 23:46:37 举报
    赞同 评论 打赏

    评论

    全部评论 (0)

    登录后可评论

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
创新改变行业——释放域名生态的力量 立即下载
创业公司的域名想象 立即下载
“域”见更美好的未来——域名筑梦互联网+ 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等