←←←←←←←←←←←← 我都秃顶了,还不点关注!在公司接手了个微信项目,由于微信环境下访问网站需要使用对外开放的域名,所以有相关问题,都是直接运维同事帮忙处理。原理是这样:方案一: 将域名解析指向测试服务器的地址;开放相关端口访问权限;方案二: 将域名解析指向内网测试服务器的某一台;(也方便用于测试https证书问题)由该台服务器转发服务到相应需要的测试服务器;开发本台测试服务器及转发的测试服务
转载
2024-07-28 14:14:13
237阅读
在公司接手了个微信项目,由于微信环境下访问网站需要使用对外开放的域名,所以有相关问题,都是直接运维同事帮忙处理。 原理是这样: 方案一: 1. 将域名解析指向测试服务器的地址; 2. 开放相关端口访问权限; 方案二: 1. 将域名解析指向内网测试服务器的某一台;(也方便用于测试https证书问题) 2. 由该台服务器转发服务到相应需要的测试
转载
2024-04-26 22:08:11
72阅读
一、proxy_cookie_domain配置误区 Nginx做反向代理的时候,我们一般习惯添加proxy_cookie_domain配置,来做cookie的域名转换,比如location /api {
proxy_pass https://***.test.com;
proxy_cookie_domain b.test.com a.test.com;
} 最近在项目中发现,不配
转载
2024-02-20 13:24:05
737阅读
点赞
前言在网上找了半天Netty发送HTTP2请求,各种资料写的要么不全,要么都不相关,还有好不容易找到最相关的,但是只有最核心的方法,缺少很多东西,类之间的引用也不正确。最后才在源码中发现真相。该项目的逻辑大致是这样的。Netty发送ssl加密的http2请求到Nginx,Nginx负载均衡使用普通http请求转发至服务端处理。 关于为什么采用该架构,是因为项目的特殊性要求:由于Netty发送请求那
转载
2024-07-30 14:53:19
88阅读
由于业务需要,要做灰度发布测试,刚开始考虑通过 IP 来做判断,分发不同的后端,但是由于 IP 不好确定,有的客户端 IP 不固定,所以考虑用 cookie 来做逻辑很简单,如下图: 在 nginx 做这个很简单,两个方法,map 或 if首先看 map 怎么做为了模拟环境,我又不想多开服务器,所以起了个 httpd,配置两个 vhost,当作两个后端,如下: &n
转载
2024-07-05 23:09:25
1151阅读
通过 Nginx 代理转发配置实现跨域(API 代理转发) 在WEB开发中,我们经常涉及到跨域的请求,解决跨域问题的方式有很多,比如有window.name、iframe、JSONP、CORS等等,就不详细展开了,涉及到 协议、端口 不一样的跨域请求方式是采用代理,这里我们重点聊聊Nginx代理的方式。场景本地启动了一个前后端分离的WEB应用,端口为:3000,可以通过http://12
转载
2024-04-02 15:33:15
160阅读
路由发展以前的路由都是由后端实现的,根据url来重新载入页面。但是近年来前端页面变得越来越复杂导致服务器端压力越来越大。自然出现了解决方案,通过url的改变,在不刷新页面的情况下,修改页面内容,这就是本文将要介绍的前端路由。路由分类前端路由的两种实现方式:利用history对象实现前端路由监听window对象的hashchange事件实现前端路由,就是本文重点介绍的hash路由hash路由何为ha
问题最近项目对接口进行安全改造,需要用到一个Path=/XXX/的cookie值,但是本地开发环境会出现cookie丢失的问题,因为本地开发环境目录都是http://localhost:8000/home,不会包含XXX路径,这样请求就会丢失用于安全的cookie.解决方案最简单粗暴的解决方案修改项目目录,添加一个XXX的文件夹,把开发环境的需要的静态资源和页面文件放到XXX文件夹下,开发环境下访
转载
2024-04-19 15:43:08
175阅读
1. 没有nginx存在时 浏览器第一次请求,会发送一个cookie,但没有携带session相关的信息,tomcat收到这个浏览器的请求之后,会查看cookie中是否包含了session信息,没有的话会在JVM中的session容器中创建一个session对象,并有一个唯一对应的sessionId,服务器处理完请求响应给浏览器时,会将这个新创建的sessionId以及对应的session对象存入
转载
2024-03-28 20:07:55
72阅读
最近在测试关于身份验证的实现过程和思路。之前的博客写的是使用token的方法将token存到redis数据库中。但是在几个github开源项目中看到有用cookie验证的于是就开始新的征程了...跨域(!!!ctx.headers.origin ctx.set('Access-Control-Allow-Credentials', 'true')必须设置)app.use(async (ctx, n
转载
2024-05-22 18:54:21
722阅读
nginx线上环境获取不到header头token登录信息背景一次项目上线后,输入正确信息登录后,却提示"登录失效,请重新登录",测试环境和预生产环境都没问题,排除应该不是代码问题。查看日志定位到代码,应该是线上没有获取到header头中的access_token(之前的名字是login-token,本次改成了access_token)导致的。然后为了验证,在服务器上通过curl 直接访问 后端的
转载
2024-03-14 07:12:16
304阅读
安装本例中我使用的版本为:nginx-1.11.5pcre-8.39zlib-1.2.8openssl-1.0.2j1.下载所需依赖包(1) gzip模块需要zlib库:官网地址(http://www.zlib.net/zlib-1.2.11.tar.gz)(2) rewrite模块需要pcre库:官网地址(https://ftp.pcre.org/pub/pcre/)(3) ssl功能需要ope
转载
2024-03-27 10:48:09
204阅读
nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器,然而当我们需要根据http包体来进行请求路由时,nginx默认的配置规则就捉襟见肘了,但是没关系,nginx提供了强大的自定义模块功能,我们只要进行需要的扩展就行了。我们来理一下思路,我们的需求是:nginx根据http包体的参数,来选择合适的路由在这之前,我们先来考虑另一个问题:在nginx默认配置的支持下,能否实现服
转载
2024-03-06 02:30:47
449阅读
(1)第一个错误:修改源代码ngx_http_sticky_module.c(2)第二个错误:修改源代码ngx_http_sticky_misc.c解决完以上两个错误,最后执行./configure --add-module=…/nginx-sticky-module-ng && make && sudo make install,总算成功了nginx配置脚本(仅供
前言最早互联网只是用于简单的浏览文档信息、查看黄页及门户网站等等,并没有交互这个说法。但是随着互联网慢慢发展,宽带、服务器等硬件设施得到了很大的提示,互联网允许人们可以做更多的事情,所以交互式Web逐渐兴起,而HTTP无状态的特点却严重阻碍了其发展。 HTTP 是无状态的协议,每个请求都是完全独立的(对于事务处理没有记忆能力,每次客户端和服务端会话完成时,服务端不会保存任何会话信息)。也就是说,无
最近一个项目,遇到了Nginx反向代理和Cookie的问题,遇到的问题很杂,经过一周多逐步摸索,总算有个解决方案了,做个记号,主要是记录下遇到问题的过程,以便出现问题时备查。【背景】客户原有的使用Domino开发的Web应用系统,需要部分数据通过手机端展示;原Domino系统只能通过内网访问,没有域名,内网的机器都需要修改hosts来解决域名问题;(至于为什么没有通过内网DNS进行域名解析设置,还
转载
2024-03-19 19:58:20
968阅读
nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强(nginx的并发能力在同类型的网页服务器中表现较好)。 nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。正向代理&反向代理 正向代理:在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。 例如:中国大陆网络无法访
转载
2024-06-26 15:43:50
100阅读
问题背景这两天遇到一个这样的需求: 有两个项目a和b,在a项目中有页面需要调用b中的接口,两项目的域名不同,分别为a.com, b.com。这时候如果直接调用,显然跨域了。一番折腾之后,问题解决了,这里记录一下解决方法。解决方法第一步,解决跨域这个使用Nginx的代理功能即可,在a服务器的Nginx添加如下示例配置:location ~ /xxx/ {
proxy_pass http://b.c
转载
2024-02-28 21:04:51
296阅读
1.Nginx知识网结构图Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好nginx专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告nginx能支持高达50000个并发连接数1.1反向代理正向代理正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被
转载
2024-06-03 09:56:34
304阅读
语法规则: location [=|~|~*|^~] /uri/ { … }
= 开头表示精确匹配
^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
~ 开头表示区分大小写的正则匹配
~* 开头表示不区分大小写的正则匹配
!~和!~*分别为区分大
转载
2024-10-23 15:52:36
126阅读