开启add_header模块,设置Access-Control-Allow-Origin。
location / { add_header 'Access-Control-Allow-Origin' ''; }
2023年,某企业API接口因未配置跨域导致大量请求失败。
那天在咖啡馆,我正用手机刷着知乎,突然有个问题跳出来:“nginx如何配置跨域访问?”我一下就笑了,这问题问得好简单,但背后的道理可不少。
记得我第一次配置nginx的时候,那可是个手忙脚乱的日子。我在公司的小办公室里,对着电脑屏幕,那配置文件里的每一行都像天书一样。那时候,跨域访问对我来说就是“跨域”两个字,具体怎么解决,一头雾水。
后来,经过几天的摸索,我终于搞定了。那是在2018年的一个周末,我在家里,对着电脑屏幕,调试了整整一个下午。我记得当时是这么配置的:
location / { add_header 'Access-Control-Allow-Origin' ''; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; }
那一次,我成功地让前后端接口通信无障碍。时间过得真快,转眼间,我成了nginx配置的小能手。
等等,我突然想到,那会儿我还加了缓存控制,感觉那次配置挺全面的。不过,现在前端技术的发展,好像很多跨域问题都能用前端技术解决,nginx配置的必要性似乎小了一些。
那,你觉得呢?前端技术的发展,会不会让nginx配置变得不那么重要了?