网站首页 > 技术教程 正文
背景
前端仔试过了:node跨域、vue Proxy跨域、jq跨域、后台大佬协助跨域,
这次跨域就是要用 nginx !!!其他我不管!
html代码
let res = fetch('http://localhost:8088/follow').then(res=>{
console.log(res)
})
node,server代码
const http = require('http')
const server = http.createServer((req,res)=>{
console.log(req)
res.writeHead(200,{'Content-Type':'text-plain'});
res.end('Hello Node');
})
server.listen(3333, () => {
console.log(`server running at 3333`)
})
nginx配置
location /follow/ {
proxy_pass http://localhost:3333;
}
或者
location /follow/ {
proxy_pass http://127.0.0.1:3333;
}
报错
Access to XMLHttpRequest at http://localhost:8088/follow' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
现象
不管怎么调,
- 修改fetch的url
- 修改nginx正则匹配规则
- 给location添加配置头
都无法正确完成nginx跨域。人生很灰暗,感觉自己像是进入了死胡同。
到底是什么原因呢?难道我们一遍遍的试就没有一次是对的吗?
原因
少加了一条代码:add_header 'Access-Control-Allow-Origin' '*';
server {
listen 8088;
server_name localhost;
location /follow/ {
add_header 'Access-Control-Allow-Origin' '*';
proxy_pass http://127.0.0.1:3333/;
}
}
加完后就能解决!!!
如果还没解决呢?继续看
使用nginx要点:
- nginx监听端口,一定要未被占用。
- nginx监听端口可以随意设置,但请求url的主机名、端口号要一致,一变都变。
- 此时,可以跟 远程(后台)接口地址不一
分析:
能解决的代码知识都在这了,如果还没走通:
- 重启nginx,看看运行有没有问题。
- 比对接口、主机名是否一致。
nginx小贴士:
// 启动
start nginx
// 或者直接点击
nginx.exe
// 重启
nginx -s reload
// 立即停止
nginx -s st
Q:方法你都懂,为什么还是会报错?
A:懂方法可以确保大方向没问题,报错基本上是不熟悉,理解不到位造成的 漏、忘。
结语:
说实话,'Access-Control-Allow-Origin' '*',这句代码我知道,node服务会需要,但是。。。唉。
加它是从后台层面解决跨域的方法,我只记住了 后台 却完全忘记了 服务器 天真的以为nginx很强大解决跨域也需要它吗?太尴尬了,太浅显了,太年轻了。
猜你喜欢
- 2024-10-14 「Nginx」面试官竟问我Nginx如何生成缩略图,还好我看了这篇文章
- 2024-10-14 程序员手册 修改php.ini的几种方法
- 2024-10-14 nginx 更改用户组(nginx修改)
- 2024-10-03 当你域名开启https后,需要修改的配置
- 2024-10-03 Nginx安装配置(nginx安装配置80端口如何对应8080端口)
- 2024-10-03 修改配置nginx限制无良爬虫频率(nginx修改配置需要重启吗)
- 2024-10-03 如何修改Nginx服务器的缺省banner
- 2024-10-03 nginx安装与调优部署文档(Linux)(nginx的安装步骤)
- 2024-10-03 如何修改 Nginx 源码实现 worker 进程隔离
你 发表评论:
欢迎- 最近发表
-
- 阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会
- Linux环境下,Jmeter压力测试的搭建及报错解决方法
- Java 在Word中合并单元格时删除重复值
- 解压缩软件哪个好用?4款大多数人常用的软件~
- Hadoop高可用集群搭建及API调用(hadoop3高可用)
- lombok注解@Data没有toString和getter、setter问题
- Apache Felix介绍(apache fineract)
- Spring Boot官方推荐的Docker镜像编译方式-分层jar包
- Gradle 使用手册(gradle详细教程)
- 字节二面:为什么SpringBoot的 jar可以直接运行?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)