nginx 反向代理跨域访问配置_nginx反向代理配置去除前缀
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:
方法一:加"/"
server { listen 8000; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main; location ^~/user/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://user/; } location ^~/order/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; proxy_pass http://order/; }}
^~/user/
表示匹配前缀是user
的请求,proxy_pass
的结尾有/
, 则会把/user/*
后面的路径直接拼接到后面,即移除user
。
方法二:rewrite
upstream user { server localhost:8089 weight=5;}upstream order { server localhost:8090 weight=5;}server { listen 80; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" main; location ^~/user/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; rewrite ^/user/(.*)$ /$1 break; proxy_pass http://user; } location ^~/order/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-NginX-Proxy true; rewrite ^/order/(.*)$ /$1 break; proxy_pass http://order; }}
proxy_pass
结尾没有/
, rewrite
重写了url。
面试专场:
Redis面试题(2020最新版)
Spring Boot面试题(2020最新版)
Tomcat面试题(2020最新版)
Java虚拟机(JVM)面试题(2020最新版)
Spring Cloud面试题(2020最新版)
MySQL数据库面试题(2020最新版)
消息中间件MQ与RabbitMQ面试题(2020最新版)
Java并发编程面试题(2020最新版)
Netty面试题(2020最新版)
Zookeeper超详细的面试题
Java经典面试题整理及答案详解(一)
面试官问:为什么需要消息队列?使用消息队列有什么好处?
BAT大厂招聘Java 程序员的技术标准,你达到要求了吗?
别再说你不会分布式了,面试官能问的都在这了
Spring MVC 面经
Java面试----2018年MyBatis常见实用面试题整理
《图解HTTP》面试知道这些就差不多了!
Spring经典面试题总结
面试:史上最全多线程面试题 !
Linux面试题(2020最新版)
Java后端面试题 - 架构篇
如有收获,点个好看↓
nginx 反向代理跨域访问配置_nginx反向代理配置去除前缀相关推荐
- Nginx静态资源跨域访问
一.什么是跨域 浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 二.Nginx静态资源跨域访问设置 使用模块名称是ngx_http_headers_module 指 ...
- nginx设置图片跨域访问
生而为人 谁不付出 谁不努力 #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log ...
- jsp允许跨域访问_js跨域访问解决方法(jsp代理)
在javascript中通过xmlhttprequest跨域访问其他资源会被浏览器阻止,因为跨域访问容易引起安全问题.对于要访问的资源那端不能被修改的情况(要访问的资源的服务器不能被修改的情况),可以 ...
- Nginx反向代理跨域访问气象局天气接口
nginx设置如下,客户端直接访问本地服务器83端口,通过http://localhost:83/wmaps/xml/baoding.xml实现对国家气象局天气实况的实时访问. nginx.conf设 ...
- Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法
当使用jQuery Ajax post请求时可能会遇到类似这样的错误提示 XMLHttpRequest cannot load http://xxxxxx. Origin http://xxxxxx ...
- axios get怎么还会显示跨域_react+axios用node代理解决跨域
今天自己搭了个react架子,网上找了个公开的接口,结果发现跨域了.因为接口是别人的,我没法让别人在接口上处理跨域问题,而且这个接口是post请求方式,也没发用jsop处理跨域. 一.前端处理跨域 1 ...
- Nginx配置跨域访问
由于浏览器同源策略的存在使得一个源中加载来自其它源中资源的行为受到了限制.即会出现跨域请求禁止. 通俗一点说就是如果存在协议.域名.端口或者子域名不同服务端,或一者为IP地址,一者为域名地址(在跨域问 ...
- 从实例入手学习使用vue+axios配置代理进行跨域访问百度音乐API
场景 如果要使用axios直接进行跨域访问是不可以的,这是就需要配置代理了,为什么要配置代理呢? 原因就是因为客户端请求服务端的数据是存在跨域问题的,而服务器和服务器之间可以相互请求数据,是没有跨域的 ...
- IIS反向代理 设置IIS跨域访问
概念说明 浏览器的同源策略限制了对某些资源的跨域访问,其目的是保障用户数据安全,但同时也阻止了部分合理的跨域请求.为了绕过同源策略的限制,人们提出了多种跨域访问方案. 解决步骤 打开IIS,选中当前站 ...
最新文章
- Linux下环境变量设置
- 496. 下一个更大元素 I
- Linux之shell中的(),(()),{},=,==:{var}(cmd)((exp))=赋值==判断
- 重庆大学校友会计算机,资环学院联谊会隆重举行
- java读取配置文件properties_让我来告诉你Spring框架是怎么样通过properties来获得对象的?...
- A*算法的原理和实现
- ❤️对比PyWinAuto和uiautomation实现微信联系人自动采集❤️
- 三维立体坐标系 html5,三维坐标系
- xp系统怎么查看计算机共享文件夹,xp系统提升查看局域网共享文件速度方法分享...
- The Elements of Style 4ed ---英文写作指南(四)
- 什么是搜索引擎关键词?搜索引擎关键词优化
- 双稳态电路的两个稳定状态是什么_单稳态电路与双稳态电路
- python定时更换桌面壁纸
- 【python】filetype根据内容推测文件类型
- 南开大学计算机学院博士毕业要求,南京大学博士研究生申请学位科研成果基本要求...
- 莆田家庭教育指导师证在哪报名报考条件是什么
- 读论文——MoCo(何恺明 CV中的无监督)
- 亚马逊美国账号怎么注册?有什么条件?
- 微商引流用什么礼品?从而形成裂变传播
- 二项分布 多项分布 伽马函数 Beta分布