由Nginx反向代理引出的JCaptcha验证码验证失败的问题
搜索关键字:
1)Windows本地开发正常,部署到Linux远程服务器上JCaptcha验证失败
2)Linux远程服务器上JCpatcha验证失败
3)Nginx反向代理后JCaptcha验证失败
目录
一 前言
我为什么要写这篇文章?
很简单,因为从我遇到这个问题到解决这个问题,途中花了不少时间,查了不少资料,改了不少代码,验证了不少猜想。然而,最后解决问题,只需要在 nginx.conf 中加一行配置即可。
为什么这么一个 “小问题” 要花我这么多时间呢?
因为 “JCpatcha验证码验证失败” 只是表象,问题的本质原因是 “Nginx反向代理导致Session丢失”。而大多数对知识点没有深入理解的、缺乏经验的同学(比如我),一开始都只会根据表象去查询解决方案,收效甚微。使用 “Nginx反向代理导致Session失效” 等关键字去查,解决方案一查一大堆,而使用 “Linux服务器下JCaptcha验证码失败” 类似的关键字去搜索,往往很难找到解决该问题的方法,因为该问法的范围较广,没有针对性(抓住关键点)。
所以,我写了这篇文章,并且特意在文章顶部写了搜索关键字,希望可以帮助遇到同样问题的同学提高搜索效率。除了写解决问题的方法外,我还贴出了从遇到这个问题到解决问题这一路的Debug过程,或许我思考问题的方式、验证猜想的方法等可以给大家一些帮助
由Nginx反向代理引出的JCaptcha验证码验证失败的问题的更多相关文章
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- Nginx反向代理,负载均衡,redis session共享,keepalived高可用
相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此 ...
- Nginx反向代理部署指南
一.反向代理 我们都知道,80端口是web服务的默认端口,其他主机访问web服务器也是默认和80端口进行web交互,而一台服务器也只有一个80端口,这是约定俗成的标准. 我们来看下面两个场景: 1.服 ...
- Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
转载:http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负 ...
- Nginx反向代理和负载均衡
一.Nginx反向代理设置 从80端口转向其他端口反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的 ...
- nginx 反向代理
nginx 反向代理 vim nginx.conf http { ..... upstream "tomcatweb" { server 172.30.13.199:8080; s ...
- 关于nginx反向代理后获取不到客户端的真实ip地址问题
前段时间在我的网站上用nginx做了一下反向代理,最近发现不能获取客户端ip了,都是拿到的127.0.0.1的本地ip... 通过查资料后,再去看了看我的配置文件,结果发现我没有如下配置: nginx ...
- Nginx反向代理配置可跨域
由于业务需要,同一项目中的前端代码放在静态环境中,而后端代码放在tomcat中,但此时问题却出现了:前端使用ajax请求后端获取数据时出现如下报错 XMLHttpRequest cannot load ...
- Nginx反向代理搭建配置
1.反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给internet 上请求连接的客户端,此时代理服务器对外就表现为一个 ...
随机推荐
- JAVA基础学习(7)之函数
7函数 7.1函数定义与调用 7.1.1函数定义 7.1.2函数调用 package com.study.main; public class ObjectStudy { public static ...
- 11: Django + gunicorn + Nginx 的生产环境部署
1.1 gunicorn介绍 1.Gunicorn 1. Gunicorn是使用Python实现的WSGI服务器, 直接提供了http服务, 并且在woker上提供了多种选择, gevent, e ...
- 【HTML】输入密码访问
<script> (function(){ if('{{ page.password }}'){ if (prompt('请输入文章密码') !== '{{ page.password } ...
- Navicat连接两个不同机子上的mysql数据库,端口用换吗?--不用
经过了上一篇的努力,成功的连上了远程的mysql数据库 dos 命令行下的成功连接 在用Navicat连接的时候要注意: 端口仍然是3306,而不用去更改,并不会和上面的本机的Mysql连接使用的端口 ...
- xml配置问题--------不允许有匹配 "[xX][mM][lL]" 的处理指令目标
剪不断,理还乱,是BUG 相遇:不允许有匹配 "[xX][mM][lL]" 的处理指令目标 在编写MyBatic框架时,纯手编写mybatic-config.xml文件,遇 ...
- linux克隆多台虚拟机后网络无法识别更无法连接上网的解决方法
本人近期学习LINUX,想克隆多台CENTOS来练习在LINUX下安装软件,配置环境.因为对系统不是很熟悉,就想保持一个纯净版本,如果系统玩坏了就删除再重新克隆一个继续配置,以节省时间.后来发现,克隆 ...
- eclipse 查看项目svn路径
1. window -- show view -- other -- svn -- svn资源库 2. 右键 -- properties 3.复制路径,打开TortoiseSvn -- Repo br ...
- linux--网络管理-ifconfig,route,netstat,ip,ss,dns,主机名网卡名修改bond
cat /etc/services 查看常见端口对应的服务 查一查某个端口号,是哪个进程在用 lsof -i :6010 49152-65535:动态端口或私有端口,客户端程序随机使用的端口 其 ...
- WLC3504 HA配置
1.WLC3504 HA连接方式 2.说明 WLC3504可以支持HA,AP SSO和Client SSO. 也是通过RP端口去连接,从active到standby-hot设备同步设备配置包括mana ...
- Cisco AP-胖瘦AP的转换
一.瘦AP到胖AP的转换:1.登录到LAP协商的WLC2.从LAP模式恢复到胖AP,输入下面命令:config ap tftp tftp_server_ip filename ap_name注意:需要 ...