我们相信:世界是美好的,你是我也是。 来玩一下解压小游戏吧!

前文说如何配置nginx以适应cors的需求,其中,最重要的header就是:Access-Control-Allow-Origin。它控制了谁可以做出跨域接口请求。postman作为专业的接口对接工具,当然可以用于模拟options请求。那么,本文讲讲述两者可能存在的关系,以及如何模拟来源域名Origin

苏南大叔:如何利用postman模拟options请求?nginx测试cors - postman-options
如何利用postman模拟options请求?nginx测试cors(图5-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10chrome@135.0.7049.41nginx@1.15.11postman@11.40.5

前文回顾

前文说如何配置nginx以适应cors的需求,其中,最重要的header就是:Access-Control-Allow-Origin。它控制了谁可以做出跨域接口请求。偷懒的情况下,它会被设置为*,但这是不安全的行为。正常的情况下,应该根据实际情况进行设置,例如https://newsn.net。如果有多个来源被允许的话,就应该利用set $cors_origin进行修改了。

这里需要注意的就是:在 Nginx 中,$http_origin 是请求头中 Origin 字段的值,也就是来源页的域名。它表示发起跨域请求的页面所在的域名,而不是当前服务器的域名。origin不是referer,仅仅是referer的一部分。

观察实际请求

先发出一个实际的请求,浏览器里面监控到的是个preflight类型。注意看请求面板,header里面originreferer并不是一样的。

苏南大叔:如何利用postman模拟options请求?nginx测试cors - request-origin
如何利用postman模拟options请求?nginx测试cors(图5-2)

postman模拟

设置接口请求类型是options,然后设置请求的header,增加origin,如下图所示:

苏南大叔:如何利用postman模拟options请求?nginx测试cors - options测试
如何利用postman模拟options请求?nginx测试cors(图5-3)

就可以检测nginx配置的cors效果是否合适了。

苏南大叔:如何利用postman模拟options请求?nginx测试cors - nginx配置
如何利用postman模拟options请求?nginx测试cors(图5-4)

苏南大叔:如何利用postman模拟options请求?nginx测试cors - postman发送orgin
如何利用postman模拟options请求?nginx测试cors(图5-5)

参考文章

结语

这个postman小工具是非常好用的。苏南大叔的更多postman使用小技巧,可以参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx    postman