Nginx反向代理配置可跨域

由于业务需要,同一项目中的前端代码放在静态环境中,而后端代码放在tomcat中,但此时问题却出现了:前端使用ajax请求后端获取数据时出现如下报错

1 XMLHttpRequest cannot load http://b.domain.com. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://a.domain.com‘ is therefore not allowed access.

经过多方面搜罗,找到以下解决方案:

在b.domain.com(即被请求域名)的Nginx反向代理配置文件的Server{}中加入如下配置:

1 add_header ‘Access-Control-Allow-Origin‘ ‘*‘; #允许的来源,为*时为所有,也可以设置为a.domain.com
2 add_header ‘Access-Control-Allow-Headers‘ ‘Content-Type,Origin,Accept‘;#指定将发送的实际请求标头
3 add_header ‘Access-Control-Allow-Methods‘ ‘HEAD,GET,POST,PUT,DELETE,OPTIONS‘;#指定实际请求的方法
4 add_header ‘Access-Control-Max-Age‘ ‘120‘;#允许用户代理缓存预检请求以用于将来的请求的时间长度
时间: 2024-10-22 01:42:13

Nginx反向代理配置可跨域的相关文章

nginx 反向代理解决ajax跨域问题

~~写了段ajax 去请求接口数据的js ,无奈发现有跨域问题. <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>index</title> </head><body&g

nginx反向代理-解决前端跨域问题

1.定义 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源.注意:跨域限制访问,其实是浏览器的限制.理解这一点很重要!!! 2.跨域访问示例 假设有两个网站,A网站部署在:http://localhost:81 即本地ip端口81上:B网站部署在:http://localhost:82 即本地ip端口82上. 现在A网站的页面想去访问B网站的信息,A网站页面的代码如下(这里

使用nginx反向代理解决前端跨域问题

1. 首先去Nginx官网下载一个最新版本的Nginx,下载地址:http://nginx.org/en/download.html.我这里下载的版本是:nginx/Windows-1.12.0.下载完成之后,得到一个.zip的压缩包,把压缩包解压到E盘根目录.如图1-1 2. 打开目录 E:\nginx\conf ,编辑nginx.conf文件,修改成如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_

centos安装Nginx,反向代理配置全过程

1.安装依赖 #gcc安装,nginx源码编译需要 yum install gcc-c++ #PCRE pcre-devel 安装,nginx 的 http 模块使用 pcre 来解析正则表达式 yum install -y pcre pcre-devel #zlib安装,nginx 使用zlib对http包的内容进行gzip yum install -y zlib zlib-devel #OpenSSL 安装,强大的安全套接字层密码库,nginx 不仅支持 http 协议,还支持 https(

nginx反向代理配置

nginx这块了解得不深,这里只简单记录下配置文件,后续再做补充. 一.反向代理的配置 server { listen 80; #配置监听的端口 server_name zxy1994.com; #访问域名 proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; p

FastDFS安装与nginx反向代理配置

操作系统 Ubuntu Server nginx相关软件 nginx-1.10.1 http://nginx.org/en/download.html nginx清除缓存模块 ngx_cache_purge-2.3 http://labs.frickle.com/nginx_ngx_cache_purge/ pcre-8.36 https://sourceforge.net/projects/pcre/files/pcre/8.36/ zlib库 http://zlib.net/zlib-1.2

Nginx反向代理配置配置实例

为了节省支出,公司需要将分布在不同机器的站点都迁移到一台机器,而目前不同机器运行的是不同的web服务,部分是nginx,部分是apache,由于牵涉较多rewrite规则,为了节省修改功夫,打算迁移后相应站点依然使用原来的web服务,但是同一台机器80端口只能分配给一种web服务使用,于是计划nginx使用80,apache使用其它端口例如8088,通过nginx反向代理,使apache的站点从80端口跳转到8088端口. 1.nginx和apache的安装过程略过 2.nginx的api.12

nginx反向代理配置详解

反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v "#" /opt/nginx/conf/nginx.conf > /opt/nginx/conf/nginx.confbak 将原先的配置修改名字备份一下,后面的没有注释内容的nginx.confbak修改名字为nginx.conf 反向代理配置示例: #定义Nginx运行的用户和用

nginx反向代理配置两个不同服务器

1.什么是反向代理通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中由代理服务器向Internet上的web服务器发起请求,最终达到客户机上网的目的(也就是正向代理). 而反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现