如何利用postman模拟options请求?nginx测试cors
发布于 作者:苏南大叔 来源:程序如此灵动~

前文说如何配置nginx
以适应cors
的需求,其中,最重要的header
就是:Access-Control-Allow-Origin
。它控制了谁可以做出跨域接口请求。postman
作为专业的接口对接工具,当然可以用于模拟options
请求。那么,本文讲讲述两者可能存在的关系,以及如何模拟来源域名Origin
。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10
,chrome@135.0.7049.41
,nginx@1.15.11
,postman@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
里面origin
和referer
并不是一样的。
postman模拟
设置接口请求类型是options
,然后设置请求的header
,增加origin
,如下图所示:
就可以检测nginx
配置的cors
效果是否合适了。
参考文章
结语
这个postman
小工具是非常好用的。苏南大叔的更多postman
使用小技巧,可以参考:


