解决Nginx+Tomcat下客户端https请求跳转成http的问题
Nginx上开启https, 后端使用Tomcat, 两者间走http协议, 但发现如果tomcat应用存在跳转时, 则客户端浏览器会出现400 Bad Request的错误, 通过抓包发现原因是302跳转响应的Location头中的URL是http协议的, 在tomcat的端号采用非标准80端口时会导致客户端出现400. 解决方案是修改nginx.conf, 让nginx将302跳转响应能智能的修改location头域的内容, 即添加以下一行到配置中的server段
问题:浏览器打开https://www.ttlsa.com/aaa.html,然后跳转到http://www.ttlsa.com/aaa.html
网站架构:用户--https--->nginx代理---http---->tomcat/nginx+php
nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:http://www.ttlsa.com/aaa.html),浏览器收到location,跳转到了location指定的地方。
proxy_redirect http:// $scheme://;
nginx代理中配置proxy_redirect
proxy_redirect http:// $scheme://;
以上指令会将后端响应header location内容中的http://替换成用户端协议https://。
NGINX访问https跳转到http的解决了~
例如:
server
{
listen 8443;
server_name test.com;
access_log logs/test.com.access.log main;
ssl on;
ssl_certificate /home/test/cer/server.crt;
ssl_certificate_key /home/test/cer/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /projectname {
proxy_pass http://192.168.1.33:8080;
proxy_set_header Host $host:$server_port;
proxy_redirect http:// $scheme://;
}
解决Nginx+Tomcat下客户端https请求跳转成http的问题的更多相关文章
- tomcat下配置https方式
[本地HTTPS]①.<Connector SSLEnabled="true" clientAuth="false" keystoreFile=" ...
- tomcat下配置https环境
在网上搜了一下,内容不是非常完好. 现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin文件夹 (2)输入例如以下指令"keytool -v -genkey -alias ...
- 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...
- tomcat下配置https环境(windows环境)
在网上搜了一下,内容不是很完善.现进行整理,做个学习笔记,以备以后使用. (1)进入到jdk下的bin目录 (2)输入如下指令“keytool -v -genkey -alias tomcat -ke ...
- LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案
0. 环境信息 Linux:Linux i-8emt1zr1 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_6 ...
- tomcat下的https项目创建与部署
1.1 生成keystore文件及导出证书 步奏1:打开控制台,运行: %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (如果你已经 ...
- nginx+tomcat遇到的https重定向到http问题
nginx做反向代理时,需要把请求头信息一起发送给tomcat,不然tomcat中的域名绑定就无法发挥作用了. 今天又遇到https请求被拦截器重定向到登陆页居然变成http的问题,导致小程序无法访问 ...
- Android 7.0解决抓取不到https请求的问题
问题:Android7.0系统,使用fiddler不能抓取https请求 解决方法: 1.在源码res目录下新建xml目录,增加network_security_config.xml文件 (工程名/ ...
- 解决Nginx+Tomcat时ContextPath不同的问题
1 问题描述 项目前端模板使用Thymeleaf,在对各种URL进行格式化输出时,都使用@{uri}代码.它会自动读取项目部署的虚拟路径,添加到URI的前端输出. 真实测试和生产环境中, ...
随机推荐
- css 如何让背景图片拉伸填充避免重复显示
如何让背景图片拉伸填充,这个问题听起来似乎很简单.但是很遗憾的告诉大家.不是我们想的那么简单. 比如一个容器(body,div,span)中设定一个背景.这个背景的长宽值在css2.1之前是不能被修改 ...
- 简析服务端通过geotools导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...
- iOS---------Xcode中添加预编译pch文件
第一步:打开项目,com+N,将页面滑动最下面如图 第二步:创建pch文件 第三步:修改buildsetting配置文件 在搜索框里输入prefix搜索一下,比较好找 1.将Pr ...
- Android为TV端助力 转载:Java 泛型
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...
- Android为TV端助力 转载自jguangyou的博客,XML基本属性大全
android:layout_width 指定组件布局宽度 android:layout_height 指定组件布局高度 android:alpha 设置组件透明度 android:backgroun ...
- Android--小游戏
GitHub:https://github.com/vinieo/game 功能描述 “猜小球”是一个简单的愉悦身心的小游戏,它的功能结构如图a-1所示. 构建开发环境 在开发本游戏时,首先需要下 ...
- Apache 配置方法(虚拟目录、域名、虚拟主机等)
基本配置 Define SRVROOT "C:/Apache24" #宏定义一个主站点目录常量ServerRoot "${SRVROOT}" ...
- mssql sqlserver 判断字符串大小写的方法分享
摘要:下文讲述使用sql脚本的方法判断字符串为大小写的方法分享,如下所示 实验环境:sqlserver 2008 R2 实现思路: 将字符串转换为大写或小写然后转换为二进制编码, 然后和源字符串做对比 ...
- IIS ip访问限制插件
Dynamic IP Restrictions Overview The Dynamic IP Restrictions Extension for IIS provides IT Professio ...
- sql语句中的join用法(可视化解释)
一.innerjoin innerjoin总结来说就是 ,如A知道通往B如何走:B知道通往C如何走:但是A不知道通往C如何走,但是A可以通过B获得去往C的通往方式.. 首先,假设有A,B两张表,结构及 ...