TNBLOG
首页
博客
视频
资源
问答
猿趣
手机
关于
搜索
收藏
便签
笔记
消息
创作
登录
剑轩
故如虹,知恩;故如月,知明
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
CSS
15篇
微服务
41篇
Git
14篇
.NET
102篇
移动开发
33篇
软件架构
23篇
.NET Core
119篇
.NET MVC
11篇
英语
3篇
随笔
86篇
Bootstrap
3篇
Redis
21篇
编辑器
10篇
Js相关
15篇
虚拟化
8篇
更多
Oracle
7篇
Python
14篇
数据库
26篇
EF
17篇
微信
3篇
前端
151篇
消息队列
6篇
docker
41篇
多线程
1篇
Java
4篇
软件基础
2篇
C++
2篇
WCF
7篇
Linux
7篇
nginx
5篇
K8S
9篇
ABP
2篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术
原
nginx反向代理解决跨域请求问题。本地运行 nginx反向代理解决跨域
1862
人阅读
2018/12/9 11:12
总访问:
3989423
评论:
0
收藏:
0
手机
分类:
nginx
比如本地测试的时候直接请求 https://ai.tnblog.net/ 这个地址会跨域。我们可以使用nginx来解决这种跨域的问题。 ### 使用nginx加一点配置 ``` #自定义本地路径 location /apis/ { proxy_pass https://ai.tnblog.net/; } ``` 这个意思就是说请求nginx的端口+/apis/。它就会把请求转发到https://ai.tnblog.net/ 这个地址去。比如我们nginx设置的启动端口是8080,那我们请求http://localhost:8080/apis/connect/token 这个地址就不会出现跨域了。配置要特别注意加不加斜杠的问题哦,稍微不注意就会出现404问题。 后面的connect/token就无所谓了,只要前面的域名这块跨域就行。相当于我们请求http://localhost:8080/apis/connect/token 这个地址,其实就是请求的 https://ai.tnblog.net/connect/token 这个地址。 后面还需要这个域名下的其他接口,只需要把https://ai.tnblog.net/ 地址使用过http://localhost:8080/apis/ 这个地址去替换即可。比如我们还需要调用一个https://ai.cqzuxia.com/oss/api/SmartFiles/UpLoadFormFile 这个接口,使用nginx解决跨域后我们就使用http://localhost:8080/apis/oss/api/SmartFiles/UpLoadFormFile这个地址去调用 tn2>这样就可以借助nginx去实现跨域了,也非常简单。把需要请求这个接口的页面通过nginx去访问,本地访问本地肯定不会出现跨域,然后nginx去请求这个接口也不会出现跨域,所以就可以解决跨域了。 tn3>其实就像使用core项目来解决跨域一样,页面访问core后台,core后台去调用其他网站接口,这样就解决跨域了(在后台直接使用httpclient请求接口是不会跨域的),nginx就可以简化这样一个过程。 ### 另外一个配置示例 比如前端项目是8006端口,后端项目是8003端口,我们前端项目去访问接口,请求的是 http://106.14.25.58:8006/api/home/1 ,我们需要代理后真实请求的地址是http://106.14.25.58:8003/api/home/1 **配置方法1:** ``` #自定义本地路径 location /api { proxy_pass http://106.14.25.58:8003; } ``` 配置要特别注意加不加斜杠的问题哦,稍微不注意就会出现404问题。比如这种配置下面的proxy_pass后面就不能加斜杠,不能写成http://106.14.25.58:8003/, 写成这种就会报404 **配置方法2:** ``` #自定义本地路径 location /api/ { proxy_pass http://106.14.25.58:8003/api/; } ``` 这种写法后面的代理地址就需要加上api了,感觉这种写法它是把`http://106.14.25.58:8006/api/`home/1,前面标红这一堆全部替换成`http://106.14.25.58:8003/api/`,替换后最终就变成了我们需要请求的地址`http://106.14.25.58:8003/api/home/1`
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}