Nginx跨域访问配置方式(Web反向代理跨域访问配置)

 更新时间:2024年06月19日 09:32:05   作者:叹人间,美中不足今方信  
这篇文章主要介绍了Nginx跨域访问配置方式(Web反向代理跨域访问配置),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nginx跨域访问配置(Web反向代理跨域访问配置)

出于安全的原因,浏览器限制从脚本内发起跨域的HTTP请求,除非响应报文中包含了允许浏览器解析报文的CORS响应头

也就是说,响应报文的头中要有以下几个响应头

Nginx要使用add_header添加这几个响应头

1.前后端分离的工程

一般情况下是使用Ajax访问后端接口

Ajax的请求头为X-Requested-With

因此服务端要允许X-Requested-With的请求头

add_header 'Access-Control-Allow-Headers' 'X-Requested-With';

2.服务端要配置哪些域

是可以跨域访问到本服务器资源的

add_header 'Access-Control-Allow-Origin' '*';

注意:

  • 如果使用了
add_header 'Access-Control-Allow-Credentials' 'true'
  • 那么不能使用通配符
add_header 'Access-Control-Allow-Origin' 'www.baidu.com';
add_header 'Access-Control-Allow-Credentials' 'true';

3.服务器端要指定HTTP请求的方法

add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'

案例

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'
# 由于跨域请求,浏览器会先发送一个OPTIONS的预检请求,我们可以缓存第一次的预检请求的失效时间
if ($request_method = 'OPTIONS') {
	add_header 'Access-Control-Max-Age' 2592000;
	add_header 'Content-Type' 'text/plain; charset=utf-8';
	add_header 'Content-Length' 0;
	return 204;
}

HTTP请求头详解点这里查看。

对于跨域的配置,不是只有Nginx可以配置,在Spring中也提供了跨域访问的配置

详见CorsFilterCorsConfigurationUrlBasedCorsConfigurationSource

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx之proxy_redirect使用详解

    Nginx之proxy_redirect使用详解

    这篇文章主要介绍了Nginx之proxy_redirect使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 为Nginx自定义404,502错误页面的方法

    为Nginx自定义404,502错误页面的方法

    为Nginx自定义404,502错误页面的方法,需要的朋友可以参考下。
    2010-12-12
  • nginx配置二级域名的示例代码

    nginx配置二级域名的示例代码

    这篇文章主要介绍了nginx配置二级域名的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 如何利用nginx通过正则拦截指定url请求详解

    如何利用nginx通过正则拦截指定url请求详解

    这篇文章主要介绍了如何利用nginx通过正则拦截指定url请求的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • Nginx网站服务过程详解

    Nginx网站服务过程详解

    Nginx是一款高性能、异步非阻塞工作模式、轻量级Web服务软件,这篇文章主要介绍了Nginx网站服务的相关知识,需要的朋友可以参考下
    2023-06-06
  • 解决nginx已经配置过跨域不生效问题

    解决nginx已经配置过跨域不生效问题

    这篇文章主要介绍了解决nginx已经配置过跨域不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Nginx 设置域名转发到指定端口的实现方法

    Nginx 设置域名转发到指定端口的实现方法

    这篇文章主要介绍了Nginx 设置域名转发到指定端口的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • nginx支持带下划线的header实现

    nginx支持带下划线的header实现

    如果header name中包含下划线,则忽略掉,本文主要介绍了nginx支持带下划线的header实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 如何使用k8s部署nginx服务

    如何使用k8s部署nginx服务

    Deployment是用来定义和管理 Pod 的高级控制器,它描述了应用程序的期望状态,例如需要运行的 Pod 数量、使用的镜像版本等信息,本文给大家介绍如何使用k8s部署nginx服务,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Nginx下载、安装与使用图文教程

    Nginx下载、安装与使用图文教程

    Nginx是一个高性能的HTTP和反向代理服务器,支持IMAP/POP3/SMTP服务,本文介绍了Nginx的下载、安装、启动和关闭方法,包括Windows版和Linux版(CentOS下)的详细步骤,需要的朋友可以参考下
    2024-11-11

最新评论