tomcat配置https的方法示例

一、创建生产密钥和证书

Tomcat 目前只能操作 JKS、PKCS11、PKCS12 格式的密钥存储库。JKS 是 Java 标准的“Java 密钥存储库”格式,是通过 keytool 命令行工具创建的。该工具包含在 JDK 中。PKCS12 格式一种互联网标准,可以通过 OpenSSL 和 Microsoft 的 Key-Manager 来。

命令创建

"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA 

JAVA_HOME是已经配置好的Java环境变量

该命令将在用户的主目录下创建一个新文件:.keystore,如果你想要想指定一个不同的位置或文件名,可以在上述的 keytool 命令上添加 -keystore 参数,后跟到达 keystore 文件的完整路径名。

代码如下:

"%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg RSA -keystore c:/keystore

二、修改tomcat配置

打开/conf/server.xml 文件找到这样的内容

<!--
  <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
        maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS" />
  -->

复制一份下来,把注释去掉port默认是8443,但是对于SSL标准端口号是443,这样在访问网页的时候,直接使用https而不需要输入端口号就可以访问,如https://loalhost/web

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

把 redirectPort改为443
SSL HTTP/1.1 Connector定义的地方,也修改端口号为:443,加入了keystoreFile="${user.home}/.keystore" keystorePass="这是tomcat密钥口令"

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
       maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
      keystoreFile="${user.home}/.keystore" keystorePass="这是tomcat密钥口令"
       clientAuth="false" sslProtocol="TLS" />

还有一个

<!-- Define an AJP 1.3 Connector on port 8009 -->
  <Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

然后启动tomcat,就可以用https去访问了

若想把所有 HTTP 请求都转到 HTTPS 协议上,可以修改tomcat的conf下的web.xml,在节点下方 添加如下:

<security-constraint>
  <!-- Authorization setting for SSL -->
  <web-resource-collection >
    <web-resource-name >SSL</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nginx https反向代理tomcat的2种实现方法

    反向代理 在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别. nginx做前端代理分发,tomcat处理请求.nginx反代tomcat实现https有二个方法. 一.nginx配置https,tomcat也配置https 1.nginx配置https upstream https_tomcat_web { se

  • Tomcat9使用免费的Https证书加密网站的方法

    1.概述 Apache Tomcat是一款优秀的Java Web容器,对于各个站长来说,可以很方便的使用Tomcat将自己的网站博客放在公网的服务器上,分享自己的心得以及个人博客. 那么在公网中的访问,没有被第三方公认可信的机构加密时,会默认使用Http协议,以明文将自己的网站在公网上传输.这对于大部分领域都没关系,但是对于某些敏感的数据,甚至机密需要保护的数据,例如:银行卡号.银行密码.手机验证码之类的信息,一旦被别有用心的人在中途使用抓包工具拦截,那么将会导致不可设想的后果. 那么网站需要使

  • 详解如何给Tomcat配置Https/ssl证书

    如果需要给Tomcat开启Https,首先我们需要一个证书,下面演示如何创建. 创建证书 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "localhost-rsa.jks" 后面的信息随便输入,我这里输入的是: Enter keystore password: Re-enter new password: What is your first and last name?

  • Nginx+Tomcat+Https 服务器负载均衡配置实践方案详解

    由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是有错,现在整理了些有用的,备忘. 环境:Centos6.5.JDK1.8.Tomcat8.Nginx1.10.1 准备材料: 1.JDK1.8安装包jdk-8u102-linux-x64.tar.gz 2.Tomcat8安装包apache-tomcat-8.0.37.tar.gz 3.Nginx1.10安装包nginx-1.10.1.tar.gz 1.JDK安装配置 解压并安装到/usr/local/jdk [r

  • 详解用Tomcat服务器配置https双向认证过程实战

    工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe) 环境:Windows8.1企业版.Tomcat-7.0.27.JDK1.6.IE11.Chrome 一.为服务器生成证书 C:\Windows\system32>keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 输入keystore密码: 再次输入新密码: 您的名字

  • 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    1.介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署. 2. 方便项目启动,不需要下载Tomcat或者Jetty 在目前的公司已经把内置的Jetty部署到了线上项目中,目前来说并无太大问题,内置就算有一些性能损失,但是通过部署多台机器, 其实也能够很轻松的解决这样的问题,内置容器之后其实是方便部署和迁移的. 1.1 优化策略 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数

  • 腾讯云申请免费ssl证书配置tomcat使http变https

    买了腾讯云服务器,想在自己的网站前面加上https,步骤就三步: 1.在腾讯云找到ssl证书申请(苦逼程序员就申请免费的吧) [1]登录进腾讯云找到ssl证书申请 [2]点击申请证书,苦逼就申请免费的吧,任性点的可以考虑购买... [3]填写相关的信息,并进行邮箱验证 通用名称--你自己的域名 申请邮箱--用于验证的 证书备注名--自定义随便取个吧 私钥密码--可填可不填(楼主填了) 所属项目--都是默认项目 ps:填完之后下一步,有三个选项,如果你的域名已经绑定了服务器,就选择自动,否则选择手

  • linux tomcat配置https的方法

    创建.keystore [root@centos apache-tomcat-6.0.37]# keytool -genkey -alias tomcat -keyalg RSA -keystore /root/tomcat/apache-tomcat-6.0.37/conf/.keystore 输入keystore密码: 再次输入新密码: 您的名字与姓氏是什么? [Unknown]: free4lab 您的组织单位名称是什么? [Unknown]: free4lab 您的组织名称是什么? [U

  • Tomcat配置https并访问http自动跳转至https

    Tomcat配置https.访问http自动跳转至https 1.配置Tomcat,打开$CATALINA_HOME/conf/server.xml,修改如下 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 修改参数==> <Connector port="8

  • tomcat配置https的方法示例

    一.创建生产密钥和证书 Tomcat 目前只能操作 JKS.PKCS11.PKCS12 格式的密钥存储库.JKS 是 Java 标准的"Java 密钥存储库"格式,是通过 keytool 命令行工具创建的.该工具包含在 JDK 中.PKCS12 格式一种互联网标准,可以通过 OpenSSL 和 Microsoft 的 Key-Manager 来. 命令创建 "%JAVA_HOME%\bin\keytool" -genkey -alias tomcat -keyalg

  • nginx配置https的方法示例(免费证书)

    一.我们需要什么证书 之前写过一篇<tomcat https配置方法(免费证书)>的简书(想看的可以去我的主页里面看下,这两篇之间还是有许多相关联的知识的~),里面有提到过常用证书的分类,其中nginx使用的就是PEM格式的证书,我们将其拆分开就是需要两个文件,一个是.key文件,一个是.crt文件. 二.怎样获取免费证书 这里提供两个方法: 第一种:如果你是windows用户,且有.keystore格式的证书 那么你可以使用JKS2PFX转换工具,将你的keystore证书转换为PEM证书,

  • nginx配置ssl实现https的方法示例

    环境说明 服务器系统:Ubuntu  18.04 64位 nginx:1.14 这篇文章主要是记录配置 https 的步骤,就不介绍申请ca证书的相关细节了 这里有免费的 ssl 证书:https://cloud.tencent.com/act/pro/ssl 我是西部数码的域名,在腾讯云申请的证书 申请证书并签发后,把证书先下载到本地 1.安装 nginx $ apt-get update // 更新软件 $ apt-get install nginx // 安装nginx 2.配置 ca 证

  • .Net Core和jexus配置HTTPS服务方法

    花了几天时间,看了好多篇博客,终于搞定了网站的HTTPS服务,借此写篇博客,来让有需要的朋友少走弯路. 一.环境介绍 1.Linux下在Docker容器中部署好了一个网站,该网站需要通过外部提供程序访问微软的登录平台,利用的是OAuth2.0协议,因此要求必须要使用SSL服务,也使得网站必须要加入HTTPS服务. 2.容器外,宿主机上通过jexus做端口转发.(本没打算用到jexus,但是看到情形不对,还是必须把它拉入进来) 3.HTTPS服务需要证书,通过在腾讯云上申请免费证书https://

  • Django+Celery实现动态配置定时任务的方法示例

    哈喽,今天给大家分享一篇Django+Celery实现动态配置定时任务,因为最近也是无意间看到一位大佬关于这块的文章,然后自己觉得不错,也想学习写一下,然后最终实现功能是在前端页面统一管理计划任务,大家可以在admin管理页面设置,也可以在自己写的前端页面删除添加编辑,实时生效,还可以监控这些监控任务是否运行成功失败. 补充:如果大家对celery不熟悉的话,建议先学习celery 一.安装 1.在Linux系统上安装模块 celery (3.1.26.post2) celery-with-re

  • Mac+IDEA+Tomcat配置的的方法步骤

    目录 一:下载 二,安装.解压 三,启动Tomcat 四,验证安装是否成功 五,关闭Tomcat 六,IDEA配置tomcat 一:下载 打开Apache Tomcat官网,选择需要的版本下载: 二,安装.解压 解压到本地路径,本人放到了/user/计算机名/目录下 三,启动Tomcat 进入到上面图中的bin目录终端运行脚本./startup.sh 如果出现: -bash: ./startup.sh: Permission denied 是因为用户没有权限,而导致无法执行.需要用命令chmod

  • Python脚本读取Consul配置信息的方法示例

    先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.目前公司用的是这个东西去管理项目上的一些配置信息.公司的环境是通过docker镜像的方式去部署的,镜像是通过rancher去进行管理的.这一套东西面临的一个问题是:服务每次更新之后,服务对应的ip地址是动态变化的.每次需要使用swagger去测接口的时候,都要去rancher上去重新找新的ip地址,比较麻烦.正好呢,最近部门在考虑准备做

  • Tomcat配置https SSL证书的项目实践

    目录 一.使用java jdk将PFX格式证书转换为JKS格式证书 二.配置server.xml 三.配置web.xml 公司网站链接要由原来的http超文本传输协议访问改为https SSl加密传输协议访问. HTTP与HTTPS的区别:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS.

随机推荐