Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决
如何解决Access-Control-Allow-Origin跨域问题
前提环境:在A服务器,调用B服务器的资源,报错出现找不到请求头Access-Control-Allow-Origin,输入跨域问题, 需要使用配置nginx来处理
例如:A服务器是liunx系统部署了一个java程序,B服务器是本地服务器,A服务器需要请求访问B服务器的资源,可以用nginx代理来请求到B服务器的资源。
文章目录
- 如何解决Access-Control-Allow-Origin跨域问题
- 配置nginx.conf文件
- 一、如何配置你的nginx.conf
- 二、添加Access-Control-Allow-Methods请求头
- 总结
配置nginx.conf文件
提示:先下载启动nginx,官网下载
链接: nginx
步骤:下载完成后安装运行在A服务器上面,先运行看看有没有问题,这里不细说,然后找到开始配置nginx.conf文件(重点)
代码如下(示例):
server {listen 9800;server_name localhost;#后台接口配置location ~ /quartz/ {proxy_pass http://192.168.X.XXX:9830;proxy_read_timeout 360s;proxy_send_timeout 360s;proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;add_header Front-End-Https on;add_header 'Access-Control-Allow-Methods' 'GET,POST';add_header 'Access-Control-Allow-Origin' $http_origin;add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With';}}location / {root html;index index.html index.htm;}location @router {rewrite ^.*$ /index.html last;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
一、如何配置你的nginx.conf
添加一个server{},这是你的服务,listen参数是你要监听的端口,这个端口可以自定义,server_name localhost,这个一般就是A服务器的域名地址,记住这个地址+端口+/参数/(127.0.0.1:9800/quartz/) 是映射location,也就是请求的地址会被代理成 proxy_pass http://192.168.X.XXX:9830这个地址,A服务器就可以跨服务器请求B服务器的资源;
二、添加Access-Control-Allow-Methods请求头
代码如下(示例):
add_header Front-End-Https on;
add_header 'Access-Control-Allow-Methods' 'GET,POST';
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With';
header头字段
含义
取值
Access-Control-Allow-Credentials
响应头表示是否可以将对请求的响应暴露给页面
true/false
Access-Control-Allow-Headers
表示此次请求中可以使用那些header字段
符合请求头规范的字符串
Access-Control-Allow-Methods
表示此次请求中可以使用那些请求方法
GET/POST(多个使用逗号隔开)
Access-Control-Allow-Origin
一种跨域策略,标识的Response header,用来解决资源的跨域权限问题。
标识符
总结
提示:这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了用nginx来解决Access-Control-Allow-Origin跨域问题;
Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决相关推荐
- vue反向代理解决跨域及部署nginx端口转发解决跨域
1. 前言 本文是为了解决vue反向代理解决跨域及部署服务器nginx端口转发解决跨域,因为踩了不少的坑,百度了很多,也试了太多的方法,最终得以解决,所以记录一下,希望遇到同样问题的友友们可以高效的解 ...
- proxy跨域不生效_配置proxy解决跨域问题
用一个最简单的方法解决API资源请求跨域问题:http-proxy-middleware http-proxy-middleware不需要自己安装,在安装webpack过程中,会自动依赖安装到你的no ...
- HTTP Headers 之 Origin跨域访问一定要加上这个header
1.跨域访问 概念 HTTP 协议中的 Origin Header 存在于请求中,用于指明当前请求来自于哪个站点. 字段内容 Origin 仅仅包含站点信息,不包含任何路径信息. 语法 Origin: ...
- Access-Control-Allow-Origin跨域问题的报错以及解决
Access-Control-Allow-Origin跨域问题的报错以及解决 这是浏览器控制台报错详情,在前后端分离,前段需要传数据进入后端时报的错 解决方案:配置跨域过滤器 1.先复制以下代码(过滤 ...
- ajax请求时拒绝访问,ajax跨域请求js拒绝访问的解决方法
ajax跨域请求js拒绝访问的解决方法 内容精选 换一换 可能原因kubelet服务没有运行或运行异常.kubelet服务没有运行或运行异常.解决方法可以通过systemctl status kube ...
- 为什么会有跨域的问题出现,如何解决跨域问题
为什么会有跨域的问题出现,如何解决跨域问题 什么是跨域 定义: 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都 ...
- 跨域问题详解——九种解决跨域方法
跨域是前端再常见不过的问题了,下面主要针对跨域做一次总结,一次理清楚. 一.jsonp解决跨域 jsonp解决跨域问题的原理是:script不受同源策略的影响. //前端代码: <!DOCTYP ...
- [html] canvas生成图片有没有跨域问题?如果有如何解决?
[html] canvas生成图片有没有跨域问题?如果有如何解决? 前端设置 useCORS: true.后台配置允许跨域 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很 ...
- 跨域异常与nginx的underscores_in_headers on
跨域异常与nginx的underscores_in_headers on 参考文章: (1)跨域异常与nginx的underscores_in_headers on (2)https://www.cn ...
- 什么是跨域(CORS)?怎么解决跨域(CORS)?
什么是跨域(CORS)? 跨域是指浏览器不能执行其他网站上的脚本,它是由浏览器的同源策略造成的,是浏览器对 JS 的安全限制.是浏览器从一个域名网页请求另一个域名资源时,出现端口.域名.协议任一不同, ...
最新文章
- c 语言实现汇文, 瞎写
- docker 端口映射 及外部无法访问问题:开启IP转发从而解决
- Exynos4412 文件系统制作(一)—— 文件系统的启动过程分析
- 机械系统计算机控制试卷及答案,机械系统设计试题及答案
- mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解
- DataView数据视图的使用 winform
- es6 Class 不存在变量提升
- javascript基础与编写习惯
- bzoj 3190 赛车 半平面交
- MySQL服务器意外关机-无法启动多实例
- Pylot——跨平台的网站压力测试工具
- ARouter 源码历险记 (四)
- Java Web项目漏洞修复(绿盟检测)
- 各式标签二维码明确采用QR码或DM码,其两种不同码制的区别表现
- 【RT-Thread 作品秀】空气质量监测系统
- Rancher搭建Longhorn分布式存储
- 基于C++实现(WinForm)家谱管理系统【100010033】
- 二分法的算法及应用场景(只更新了一种)
- 头条限流是什么原因_今日头条限流吗 头条号限流是什么状态
- mplab c30 注册方法