Nginx+Tomcat+Https

Nginx代理HTTPS且非443端口,Tomcat为HTTP的配置 Nginx代理HTTPS且非443端口,Tomcat为HTTP的配置   开始觉得这个配置需求非常的简单,不就是配置一下Nginx配置就搞定了。试了之后发现,出乎意料,所以打算将自己的经验记录下来。   简单的描述一下场景,Nginx监听端口:8443,开启SSL;Tomcat启动的监听端口:8080,是HTTP。然后需要从Nginx的HTTPS代理到Tomcat的HTTP,基本的请求的流程图如下... 阅读详情

一、申请证书

阿里云提供免费的证书:《证书申请传送门》

这里写图片描述
注意:保护类型那里提示:保护一个明细子域名。

二、安装证书

等审核通过后,就可以下载证书了。

把证书上传到服务器,假设你的证书是abc.pem和abc.key,我这里放到/etc/nginx/cert文件夹下了,cert文件夹是我自己创建的,使用mkdir cert来创建,提示权限错误时加sudo命令。

然后修改nginx配置文件,vim /etc/nginx/nginx.conf,增加以下内容:

upstream tomcat {
    server 127.0.0.1:82 fail_timeout=0;
}

# HTTPS server
server {
    listen       443 ssl;
    server_name  www.b.yujiago.cn; # 这里是你的域名,要与下面tomcat里的保持一致

    ssl_certificate      /etc/nginx/cert/abc.pem;
    ssl_certificate_key  /etc/nginx/cert/abc.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto https;
        proxy_redirect off;
        proxy_connect_timeout      240;
        proxy_send_timeout         240;
        proxy_read_timeout         240;
        # note, there is not SSL here! plain HTTP is used
        proxy_pass http://tomcat;
    }
}

然后编辑tomcat的配置文件,/conf/server.xml
修改HOST里的value值,我这里修改为:

# 这里的name要与nginx配置文件里的server_name保持一致

<Host name="www.b.yujiago.cn" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

        <Valve className="org.apache.catalina.valves.RemoteIpValve"
                  remoteIpHeader="x-forwarded-for"
                  remoteIpProxiesHeader="x-forwarded-by"
                  protocolHeader="x-forwarded-proto" />

        <Context path="" docBase="spring-boot-ssm" name="/spring-boot-ssm" debug="0" reloadable="true" />

</Host>

到这里的话,可以使用https://www.b.yujiago.cn访问了,但是无法通过http://www.b.yujiago.cn访问,即默认的80端口。


强制80端口转发到443端口,即将http://www.b.com重定向到https://www.b.com

# 监听80端口,根据二级域名,动态进行转发
server{
    listen       80;

    server_name  *.yujiago.cn;

    client_max_body_size 50m;

    if ( $http_host ~* "^(.*?)\.yujiago\.cn" ) {
        set $domain $1;
    }

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        if ( $domain ~* "a" ) {
            proxy_pass http://www.a.yujiago.cn:83;
        }
        if ( $domain ~* "b" ) {
            # proxy_pass https://www.b.yujiago.cn;

            # 重定向到https
            rewrite ^/(.*) https://www.b.yujiago.cn/$1 permanent;
        }
        if ( $domain ~* "c" ) {
            proxy_pass http://www.c.yujiago.cn:84;
        }

        # proxy_pass http://www.a.yujiago.cn:83;
    }
}

网上有的资料说需要配置tomcat中以下部分新增的内容,但我这次没有配置

<Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="443"
                 proxyPort="443" />

注意:
1、开启防火墙的443端口

nginx+tomcat8 ssl使用https访问 NULL 博文链接:https://youngbrick.iteye.com/blog/2336806 立即下载

相关推荐

nginx+tomcat+ssl_https

window版本,使用nginx+tomcat实现集群架构。包含http集群和https2钟方式集群,解压即可以用。证书什么都已经配置好了。如果商业证书直接替换就可以了。

最详细的Nginx+Tomcat+Https配置教程(阿里云+Symantec证书)

title: 最详细的Nginx+Tomcat+Https配置教程(阿里云) 因为之前学校的项目使用的云服务器是微软云的,导致为其配置https时 不太方便,需要自己到处找免费证书,很麻烦,曾写过一篇Ubuntu 16.04——配置Nginx及Https服务,里面用的是certbot的免费证书。 本文使用的则是在阿里云申请的免费证书(Symantec),以下是证书的配置过程。 前提 购买一个域名...

pyd15 2406

保姆级教程:用Kvaser DB Editor从零创建你的第一个DBC文件(附CAN信号属性详解)

本文提供了一份详细的Kvaser DB Editor教程,指导用户从零开始创建DBC文件,并深入解析CAN信号属性的关键设置。通过步骤清晰的安装指南、信号属性配置详解和实用技巧,帮助工程师和学生快速掌握CAN总线通信的核心工具,提升工作效率。

weixin_27076351的博客 247

ssl证书获取与tomcat和nginx设置https

1 SSL证书获取 SSL(Secure Sockets Layer 安全套接层) 是为网络通信提供安全及数据完整性的一种安全协议 作用: 机密性: SSL协议使用密钥加密通信数据 可靠性: 服务器和客户都会被认证,客户认证服务器是可选的。 完整性: SSL协议会对传送的数据进行完整性检查。 这里演示是:阿里云 第1步 进入 域名 点击 开启 SSL证书 开启 第2步 选择证书类型 选DV通配符证书,然后 点击购买两年 默认选择系统选择参数 (每个自然年12月31日24:00)有效时间一年,

Linlietao0587的博客 4692

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

Cadence ADE实战:1GHz VCO相位噪声仿真全流程(附PSS/Pnoise避坑指南)

本文详细介绍了在Cadence ADE环境中对1GHz VCO进行相位噪声仿真的完整流程。重点剖析了PSS(周期性稳态分析)和Pnoise(周期性噪声分析)两大核心引擎的关键参数设置与避坑指南,帮助射频与模拟IC设计者准确评估VCO性能,解决仿真不收敛、结果异常等常见问题。

rock5的博客 669

解决Nginx+Tomcat下客户端https请求跳转成http的问题

Nginx上开启https,  后端使用Tomcat,  两者间走http协议, 但发现如果tomcat应用存在跳转时, 则客户端浏览器会出现400 Bad Request的错误, 通过抓包发现原因是302跳转响应的Location头中的URL是http协议的,  在tomcat的端号采用非标准80端口时会导致客户端出现400.  解决方案是修改nginx.conf, 让nginx将302跳转响应

lindev的专栏 1万+

SOC Boot学习(二)——JTAG Debug介绍

JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。如今大多数比较复杂的器件都支持 JTAG 协议,如 ARM 、 DSP 、 FPGA 器件等。

yttt的博客 1605

nginx https转发tomcat

可以直接在nginx配置文件里单独配置个443端口来转发tomcat即可。 server { listen 443 ssl; server_name sfpay.jk123.net; ssl on; ssl_certificate /usr/local/nginx/key/et.pem; ssl_certifica...

cbuy888的博客 871

百度飞桨EasyDL图像分类:收费口车辆类型自动识别

车辆类型识别在高速收费路口的应用中,场景相对单一且拍摄角度一致,因此首次训练模型效果优异,准确率达到了95%,鉴于市面上的车辆类型不断更新迭代且部分车辆的主要特征也不断发生变化,因此可在模型投入应用后,持续收集模型实际运行过中产生的数据,定期添加数据进行模型迭代,保证模型效果。企业将AI模型应用到实际场景中以实现停车费用、过路费用的自动计算,在收费口中由相机对每个车辆进行拍摄,拍摄到的图片传输到预测设备上进行类型识别,基于识别出来的车辆类型自动进行费用计算。该功能可在发起训练时选选择对应的开关打开即可。..

PaddlePaddle 1670

AD(Altium Designer)器件封装——立创商城导出原理图和PCB完成器件封装操作指南

官网:www.SZLCSC.COM以芯片为例器件类——>芯片类——>对应芯片确定芯片——>数据手册1:原理图2:PCB3:打开操作流程选中原理图——>文件——>导出——>AD1: ✔2:导出AD文件操作流程选中PCB图——>文件——>导出——>AD1: ✔2:导出AD文件1:PCB图2:原理图操作流程文件——>打开操作流程选中文件——>打开操作流程项目文件——>添加新的...到工程——>Schematic Library新原理图库操作流程项目文件——>添加新的...到工程——>PCB Library新的PC

XU157303764的博客 5436

Nginx+Tomcat配置https

自已公司内部的系统,需要修改为https访问,使用Nginx+Tomcat,此文记录了整个过程,因为系统使用了jsp,而且页面中大量使用了request.getScheme()+“”+request.getServerPort()来组合URL进行数据的提交,导致最终界面中出现了http//协议,为了不改动代码,最终方案采用nginx和tomcat都开启https,由nginx转发到tomcat的https上,最终完美搭建成功。...

shuaijie506的专栏 4202

在 SAP HANA 与 HANA Cloud 中,用 SQL DDL 创建数据库视图:从设计时工件到运行时对象的全链路实践

本文介绍了在SAP HANA中通过HDI容器使用DDL定义视图的方法。主要内容包括:1)采用.hdbview设计时工件存储视图定义,构建时自动转换为运行时视图,实现版本控制和权限隔离;2)开发前需准备HDI容器、MTA项目及配置.hdiconfig文件;3)详细说明.hdbview语法结构,重点讲解WITH READ ONLY和WITH STRUCTURED PRIVILEGE CHECK的使用场景;4)提供了从创建文件到构建验证的完整流程示例;5)强调跨容器访问时需通过.hdbgrants为#OO用户授予

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 271

Nginx配置HTTPS,Tomcat把HTTP切换至HTTPS

文章目录前言一、Nginx配置HTTPS1.下载Nginx2.解压安装包并配置SSL3.修改Nginx配置二、Tomcat配置阀门1.引入库2.读入数据总结 前言 最近客户要把http升级成https,有两个方案,一个是改Nginx,一个是改代码。虽然最终选择的是改代码的方案 ̄へ ̄,但是还是在这边记录一下改Nginx和Tomcat的方案吧(〃‘▽’〃) 一、Nginx配置HTTPS 1.下载Nginx     这一步应该下载或安装完的小伙伴可以直接忽略,首先保证环

一个卑微的java开发 2714

基于STM32设计的智能水产养殖系统(2025)_359

本设计提出并实现了一种基于STM32F103RCT6微控制器的智能水产养殖控制系统,针对传统水产养殖中人工依赖高、环境参数监测滞后、控制手段单一等问题,集成了TDS水质检测、水温检测、水位监测、自动喂食、自动充氧、换水控制与加热保温等功能。系统采用ESP8266模块实现WIFI联网,通过MQTT协议将关键数据上传至华为云物联网平台,支持Android手机APP和Windows上位机远程监测与控制。同时,系统具备本地LCD数据显示与蜂鸣器异常报警功能,支持本地按键控制操作。整套系统功能完善,响应灵敏,运行稳定

624

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

nginx代理tomcat,https

转载来源 : nginx代理tomcat,https https://www.jianshu.com/p/bdf8dc5b39b3 问题:nginx配置完https成功,但是nginx到tomcat的请求认识http,所以小程序显示无法访问http:// 解决办法:http://han.guokai.blog.163.com/blog/static/136718271201211631456811/ 在代理模式下,Tomcat 如何识别用户的直接请求(URL、IP、https还是http )? 在透明代理

qq_40907977的博客 1075

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

nginx+tomcat+ https nginx证书

关于nginx+tomcat https的部署之前网上一直有2种说法: 1.nginx和tomcat都要部署ssl证书 2.nginx部署ssl证书,tomcat增加ssl支持 我个人觉得 nginx+nginx中部署ssl证书+tomcat 的部署比较方便,以下是具体步骤: 第一步: tomcat 中的设置,找到 tomcat7x/conf/server.xml 文件多加这两个 scheme=...

xaiowenqgl的博客 721

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Nginx + Tomcat 使用Let's Encrypt 搭建HTTPS

最近把公司的微信公众号,从HTTP升级到了HTTPS,过程还是非常坎坷的,参考了不少的文章,也踩过很多坑,所以这里想和大家分享一下。如果有同学也是使用Nginx +Tomcat,或许这篇文章可以会帮上你大忙哦。刚开始使用Openssl制作证书,但是制作证书完成后发现不受信任,就像下面这样:Openssl制作证书可以参考下面两篇文章:https://segmentfault.com/a/119000...

licaomeng的专栏 1619

Tomcat和Nginx配置https

产品关于HTTPS的配置 Tomcat版本:apache-tomcat-9.0.44 测试时,Tomcat使用的证书是JDK中的keytool工具生成的自签名证书 JDK版本:JDK-11.0.10 Nginx版本:1.19.9 测试时,Nginx使用的证书由OpenSSL生成,需要先安装OpenSSL,Linux使用yum安装(Redhat)或apt安装(Ubantu),windows安装后续说明。 Tomcat配置https 首先确保本地有jdk的环境,可以使用java -version

qq_42599735的博客 905

NGINX 转发https到tomcat

微信小程序项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,使用https协议 1、配置NGINX #配置只能使用https访问 server{     listen 80;     server_name abc.com;     #告诉浏览器有效期内只准用 https 访问     add_header Strict-Tr...

mysky2008的专栏 1794

nginx+tomcat配置https的方法

nginx+tomcat配置https的方法 场景 开发过小程序的都知道,小程序里规定了必须使用https协议。而我的服务器是使用nginx做前端代理分发,tomcat处理请求。 因此,需要在nginx反向代理tomcat的基础上配置https。 方法 nginx+tomcat配置https的方法有两种: nginx配置https,tomcat也配置https nginx配置...

Kevin的博客 880

Nginx + Tomcat + HTTPS 配置

Nginx + Tomcat + HTTPS 配置

qq_42979106的博客 653

nginx https分发后,tomcat重定向问题处理

在上一篇文章nginx启用https中,聊了下nginx的安装以及开启ssl的配置,现在讲述下后面抛出的问题,tomcat重定向怎么处理 在处理上面有两个方案,先说常用的方案,也是较为方便的方案。 方案一:tomcat处理nginx请求 此方案的核心思想是,将nginx的所有请求转换为https,这样,tomcat就可以通过redirectPort端口接受信息,然后通过代理端口proxyPort将所有请求重定向到https访问端口就ok了。具体配置如下: Host节点增加(将nginx http请求转为ht

qq_38352483的博客 583

Nginx+Tomcat配置HTTPS/SSL证书

在同时部署了Nginx和Tomcat的服务器上,可以使用Nginx来将服务器地址/域名的80端口映射到Tomcat的8080端口,从而不需要更改tomcat的配置端口来实现域名的直接访问。 Nginx配置: server { listen 80; server_name localhost; #charset koi8-r...

Firstmetcs的博客 3429

通过https访问nginx后转发到tomcat后还是http

可能文章标题写的不够明白 介绍下出现的情况: 系统部署在tomcat下,nginx做转发代理,浏览器通过地址先访问到nginx,然后nginx再去请求tomcat,将内容返回给浏览器。 由于nginx对外需要https访问,而nginx访问tomcat的时候是使用http,可能会造成在浏览器加载静态文件的时候可能还是http协议,造成无法加载。 nginx配置如下: server { ...

lianjie_c的博客 1703

nginx使用https代理tomcat

要求 1.在装有nginx的服务器A上申请SSL证书 2.服务器B上运行tomcat服务(不需申请SSL证书) 实现目的:通过https协议访问nginx代理的tomcat,实现tomcat服务加密 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log...

天涯的浪子 2445
上一篇: SpringBoot项目部署到Tomcat时重复启动的解决方法
下一篇: remote: Incorrect username or password ( access token )
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值