由于之前一直忙于服创比赛,然后就导致好久没写博客了。 现在服创结束也有十来天了,感觉不写点什么就对不起自己了。
于是乎,就写写将网站从http升级到https的过程吧。

首先域名和服务器自然是必须的,大致流程分为以下几部:

  • 申请https证书
  • 上传文件至服务器
  • 配置https

申请https证书

https证书通常是收费的, 不过也有免费版的可以使用。我使用的是在腾讯云上申请的免费版,下面就以腾讯云的为例讲解吧。

首先进入腾讯云中云产品列表,选择SSL证书管理 ,进入登录后大概是这个样子

然后是选择 申请免费证书,然后选择 ‘免费版DVSSL证书’ 那一个,随后填写域名信息和邮箱,其余的随意了。需要注意的是,这里申请的免费证书不能用于子域名,如果子域名要用的话,还需要另外申请。 然后下一步,按提示添加域名的解析记录(推荐使用这种方法进行域名认证),认证成功之后便立刻会审核成功,然后就可以下载证书文件了。

上传文件至服务器

证书文件下载后,大概是这个样子

包含了比较主流的容器的证书文件。我们点击Tomcat进入后,有这两个文件

第一个即 Java KeyStore (JKS),即证书文件;

第二个即密码;

然后我们将第一个文件复制到服务器,我使用的是scp命令(Windows中PowerShell好像有这个命令):

scp C:\Users\Asche\home.asche.top.jks root@home.asche.top:/root

其中左边的参数是本地中文件的位置,右边是 用户@域名:目录 随后按提示继续以及输入密码即可。

第二个文件就不用传了,毕竟就一个密码,特别短。

Tomcat配置https

ssh登录服务器,进入Tomcat的根目录后,首先将证书文件拷贝至conf目录下,然后编辑conf目录下的server.xml文件,在Connector同级标签下,添加以下代码:

    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="conf/******.jks"
keystorePass="******"
clientAuth="false" sslProtocol="TLS" />

其中443代表https监听的端口。并且记得将上面的***替换为你的具体信息,上面那个为证书文件,下面那个即之前没有上传的那个文件内的密码,直接复制粘贴上来就行了。

然后重启Tomcat之后,浏览器里就可以以Https://域名 的方式访问你的网站了。

如果还想让网站都以https的方式访问的话,还需要进一步设置。

首先还是修改conf下的的server.xml文件,将默认的8080端口改为80端口后,再将其中的重定向端口改为443,改完之后大概是这个样子

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

到这里还没有结束,还需要修改conf目录下的web.xml文件,来到文件的末尾,在web-app标签结束前添加以下代码:

    <security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<!-- auth-constraint goes here if you requre authentication -->
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

即一些安全相关的配置。添加保存后,重启Tomcat,再以http的方式访问的你的网站,它就会自动重定向443端口,即以https的方式访问了。

好了,教程结束!

网站Http升级至Https(基于Tomcat)的更多相关文章

  1. Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

  2. IIS同时实现网站部分使用https协议访问另一部分http访问

    一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...

  3. 基于tomcat+spring+mysql搭建的个人博客

    基于tomcat和spring开发的个人博客, 服务器是基于tomcat, 用了spring框架, web.xml的配置简单明了,我们只要配置MYSQL和用户过滤器等, 服务器的jsp就是负责VIEW ...

  4. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  5. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  6. 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程

    评论»   文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...

  7. 网站 HTTP 升级 HTTPS 完全配置手册

    网站 HTTP 升级 HTTPS 完全配置手册 今天,所有使用Google Chrome稳定版的用户迎来了v68正式版首个版本的发布,详细版本号为v68.0.3440.75,上一个正式版v67.0.3 ...

  8. http网站转换成https网站

    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题   一:什么是https SSL(Security   Socket  ...

  9. 基于tomcat插件的maven多模块工程热部署(附插件源码)

    内容属原创,转载请注明出处 写在前面的话 最近一直比较纠结,归根结底在于工程的模块化拆分.以前也干过这事,但是一直对以前的结果不满意,这会重操旧业,希望搞出个自己满意的结果. 之前有什么不满意的呢? ...

随机推荐

  1. solr&lucene3.6.0源码解析(二)

    上文描述了solr3.6.0怎么采用maven管理的方式在eclipse中搭建开发环境,在solr中,为了提高搜索性能,采用了缓存机制,这里描述的是LRU缓存,这里用到了 LinkedHashMap类 ...

  2. button的onclick函数一直刷新

    button中的onclick写成函数时需要 <button onclick="return function();"></button> 加一个retur ...

  3. django drf 初探serializer

    1.定义Model对应的serializer from rest_framework import serializers class GoodsSerializer(serializers.Seri ...

  4. 实体bean里面不要轻易加transient,反序列回来之后会变成null

     实体bean里面不要轻易加transient,反序列回来之后会变成null

  5. jquery事件二 -- 选项卡,失去焦点

    以之前的选项卡例子为原版,当选上某一个选项卡的时候,选项卡周围会有一个蓝色的边框影响视觉体验,那么应该怎么去掉这个边框色呢?只需要加一行blur()--失去焦点函数就可以了 <!DOCTYPE ...

  6. 集成 jpush-react-native 常见问题汇总 (iOS 篇)

    给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1. 收不到推送 确保是在真机上测试,而不是在 ...

  7. P3952 时间复杂度

    P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机 ...

  8. css第二篇:样式的特殊性、重要性、继承和层叠

    特殊性:   假设有几个不同的规则改变的都是同一个元素的值,那么哪一个规则将会胜出呢?这就得靠特殊值啦,什么是特殊值呢?特殊值的大小呢?如下图: 值越大代表越牛,如1,0,0,0永远大于0,X,X,X ...

  9. java8特性之Lambda表达式

    1.典型的用Lambda表达式的场景 如果有这样的一个小应用,其中的一个类Student包含姓名(name),性别(sex),分数(score),如下: package demo; public cl ...

  10. 榨取kkksc03 多维dp

    榨取kkksc03 多维dp 题面:洛谷 P1855 榨取kkksc03 一道简单的动态规划,背包再加一维费用,首先可以易得三维动态规划转移方程 \[ dp[i][j][w]=\left\{ \beg ...