Nginx配置文件中的$http_origin是什么意思?

21
我看过很多关于CORS的示例中都使用了它,但是$http_origin的值在哪里设置呢?
我查看了Nginx变量,但没有提到它。在PHP FastCGI中也没有提及它。

1
它基于传递的“headers”进行操作。请参见https://nginx.org/en/docs/http/ngx_http_core_module.html#var_http_ - Tarun Lalwani
2个回答

24

8
如果你仔细查看http://nginx.org/docs/varindex.html,你会发现该页面上只有一个带有前缀$http_的项目;事实上,这个单一的项目没有进一步的后缀,故意保持通用性。
相关功能在http://nginx.org/r/$http_上有文档,如下所示:

$http_name——任意请求头字段; 变量名称的最后部分是字段名称转换为小写,并将破折号替换为下划线


然而,如果你深入了解nginx背后的源代码,你会发现它具有存储某些特定请求头的内部优化,为了性能原因,它们被定义为列表,但在nginx的初始化过程中,它们将被放置到哈希表中,由ngx_http_variables_add_core_vars()函数处理。例如,$http_host$http_user_agent$http_referer,以及其他可能需要在某些nginx组件内部处理或在配置文件中经常使用的变量。 然而,作为终端用户,你真的不必担心那些细节——通用的$http_name足以描述整个功能。 (事实上,$http_origin并不特殊或流行到足以有自己的专业处理方式。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接