nginx解决跨域方式--JSONP跨域 和 CORS跨域解决

文档说明:只记录关键地方; 发文时间: 2022-10-26

目标:使用CORS 和 jsonp 解决跨域问题

一:nginx 使用CORS解决跨域

涉及到nginx 配置也就这些

add_header Access-Control-Allow-Origin $http_origin always;
add_header Access-Control-Allow-Methods 'GET,HEAD,POST,PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH' always;
add_header Access-Control-Allow-Credentials 'true' always;
## 用于自定义请求头参数,或者响应头参数 (未涉及自定义请求头和相应头,不需要此配置),下面是:例子
add_header Access-Control-Allow-Headers "Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,authorization,accept-ranges,content-length,content-type,date,server,last-modified,etag";
# (未涉及自定义请求头和相应头,不需要此配置)
add_header Access-Control-Expose-Headers "Authorization,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,authorization,accept-ranges,content-length,content-type,date,server,last-modified,etag";
if ( $request_method = "OPTIONS" ) {
return 204;
}

二:nginx 使用jsonp 解决跨域

location /ip/jsonp {
set $callback "callback";
if ($arg_callback) {
set $callback $arg_callback ;
}
charset utf-8;
default_type application/javascript ;
return 200 '$callback({
"request_time":"$time_local",
"ip":"$remote_addr",
"port":"$remote_port",
"message":"你可真是个小机灵鬼,被你发现了!😁😄😜😋🤗😅😇🥰🥳"
})'
;
}

参考文档

  1. 跨源资源共享(CORS)
  2. nginx http 通用配置
  3. nginx端口复用
  4. Nginx与安全有关的几个配置
  5. Nginx的几个常用配置和技巧
  6. nginx features
  7. nginx documentation
  8. HTTP安全
  9. nginx获得客户端IP地址
posted @   jingjingxyk  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示