应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

nginx反向代理解决跨域请求问题。本地运行 nginx反向代理解决跨域

3746人阅读 2018/12/9 11:12 总访问:5192036 评论:0 收藏:0 手机
分类: nginx

比如本地测试的时候直接请求 https://ai.tnblog.net/ 这个地址会跨域。我们可以使用nginx来解决这种跨域的问题。

使用nginx加一点配置

  1. #自定义本地路径
  2. location /apis/ {
  3. proxy_pass https://ai.tnblog.net/;
  4. }

这个意思就是说请求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这个地址去调用


这样就可以借助nginx去实现跨域了,也非常简单。把需要请求这个接口的页面通过nginx去访问,本地访问本地肯定不会出现跨域,然后nginx去请求这个接口也不会出现跨域,所以就可以解决跨域了。


其实就像使用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:

  1. #自定义本地路径
  2. location /api {
  3. proxy_pass http://106.14.25.58:8003;
  4. }

配置要特别注意加不加斜杠的问题哦,稍微不注意就会出现404问题。比如这种配置下面的proxy_pass后面就不能加斜杠,不能写成http://106.14.25.58:8003/, 写成这种就会报404

配置方法2:

  1. #自定义本地路径
  2. location /api/ {
  3. proxy_pass http://106.14.25.58:8003/api/;
  4. }

这种写法后面的代理地址就需要加上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。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

nginx常用命令nginx启动命令nginx重启命令nginx关闭命令nginx测试配置文件是否正确nginx nginx.pid文件丢失报错

启动命令:start nginx 关闭命令:nginx -s stop nginx -s quit nginx -s stop与nginx -s quit区别 Quit is a graceful shu...

nginx配置负载均衡注意事项

一.如果location下面的proxy_pass配置有端口号nginx就会直接反向代理到这个地址这样你配置的upstream就没有用了,即使名字和...

nginx反向代理负载均衡

nginx介绍nginx是一个高效的反向代理工具,可以很方便的实现服务的负载均衡反向代理方式实际上就是一台负责转发的代理服务器...

使用nginx在同一台服务器上配置多个二级域名

一般二级域名都是解析到不同的服务器上,但是很多时候没有那么土豪可以用那么多服务器哇。当然土豪完全可以1个二级域名一台...

使用nginx在同一台服务器上配置多个二级域名2

在第一篇中介绍了一种方法:http://www.tnblog.net/aojiancc2/article/details/2430其实还可以使用第二种方法,也就是配置...

nginx处理静态资源

如果我们使用了nginx反向代理后,直接去项目中请求我们的静态资源会比较慢,当然我们有条件使用cdn更好,没有不使用cdn,也...

nginx配置注意事项

一.要注意后面要加一个分号:不然就会报这个错:

使用nginx后net core无法获取ip问题

使用了nginx后net core获取ip地址居然全部是本地的地址,不是外网的地址这是因为nginx转发了一次后,我们直接使用常规获取i...

.net Core3.0在Ubuntu 16.04上面的部署(Supervisor+nginx)(扩展docker)

前 言Linux 随着Linux越来越流行,本人一个.net程序员也多次研究linux与.net的相关产品,以及中间件的使用方式。So今天给...

nginx四层负载均衡

实验环境CentOS-7-x86_64-DVD-1810.iso本机IP:10.4.7.11安装Nginx执行安装命令yuminstallnginx-y配置Nginx通过 Vim打开Ngi...

nginx https的证书配置与301跳转

在 etc/nginx/ 目录下新建 ssl 文件夹来存放证书。把 crt 证书文件和 key 私钥文件上传到这里。然后就可以配置 Nginx 配置...

windows nginx配置https证书

windows nginx配置https证书还是比较简单的我这里申请的证书是阿里云的,去下载nginx版本的解压后有两个文件一个.key,一个....

nginx bind() to 0.0.0.0:443 failed

就是因为443端口被占用了而已!,找到占用的端口停掉即可。可以参考:http://www.tnblog.net/aojiancc/article/details/3319

nginx重启无效

有可能是因为nginx打开了多个,在应用程序中看看

nginx 静态资源gzip压缩与缓存,解决静态资源加载慢的问题

在http模块中开启gzip压缩# 开启gzip gzip on; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩 gzip_min_lengt...

nginx限制文件上传大小

有些时候用了nginx,除了项目本身要配置上传大小限制,nginx也要限制 直接贴代码吧 location / { proxy_set_header X...