给自己的网站加上HTTPS

前言
现在谷歌等厂商大力推行https协议,如果你的网站不支持https,在使用谷歌浏览器时,会被警告网站不安全。w(゚Д゚)w,不安全?哪里不安全了?OK,那我改成支持https好吧。关于http怎么不安全,https又怎么安全了,下篇文章再讨论。
一 申请证书
申请阿里云免费SSL证书
首先,我们需要去购买一个SSL证书。目前阿里云上有免费证书购买,有效期一年。



依次点击完成申请,审核过后即可在控制台的SSL证书页面看到自己的证书了。
选择需要使用的服务器类型。

二 安装证书到服务器
2.1 Tomcat服务器
如上图所示,点击对应服务器类型的帮助按钮可以查看Tomcat7的证书安装方法,但是我使用的是Tomcat8,踩了一些坑,在这里额外说一下。
- 在Server.xml中可以找到有两个Connector 端口为8843的注释, 一种是使用Http11NioProtocol 另一种是Http11AprProtocol , 根据注释我们使用第一种。
- keystoreFile文件路径的配置,如果按照说明里面的配置,提示找不到文件。因此可以配置了绝对地址:/etc/apache-tomcat-8.5.15/cert/xxxx.pfx。
- tomcat8 配置ssl的方式是有所改变的,多了SSLHostConfig、Certificate标签,因此百度上的配置大部分都是不适用的,tomcat启动是会报错。这里附上官网文档,感兴趣可以自行查看:https://tomcat.apache.org/tomcat-8.5-doc/config/http.html。
基本配置完成后如下:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="D:/apache-tomcat-8.5.15/cert/xxx.pfx"
certificateKeystoreType="PKCS12" certificateKeystorePassword="填写密码" />
</SSLHostConfig>
</Connector>
2.2 Nginx代理
最近我给自己的服务器添加了Nginx代理,所以学习了下Nginx配置Https。如果使用了Nginx来作为网站入口,那么Tomcat就不必配置SSL证书了。直接配置Nginx的SSL证书即可。
修改Nginx配置文件nginx.conf,将原本的http配置全删掉,直接改成重定向到https即可。(除非你想要http和https都支持)
如下:
server {
listen 80;
server_name erictao2.com www.erictao2.com;
rewrite ^ https://$http_host$request_uri? permanent;
}
添加一段配置rewrite ^ https://$http_host$request_uri? permanent;即可重定向到https。
然后再新增一个server配置:
server {
listen 443 ssl;
server_name erictao2.com www.erictao2.com;
ssl_certificate /etc/nginx/cert/1157188_erictao2.com.pem;
ssl_certificate_key /etc/nginx/cert/1157188_erictao2.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
if ($host != 'www.erictao2.com'){
rewrite ^/(.*)$ www.erictao2.com/$1 permanent;
}
location / {
root html;
index index.html index.htm;
proxy_pass http://127.0.0.1:8080/;
}
}
将其中的ssl_certificate和ssl_certificate_key改成自己对应的文件即可。然后重载Nginx配置,输入命令nginx -s reload。
完成以上步骤后,再次访问自己的网站就能看到url上多了https,谷歌浏览器也承认你的网站是安全网站了。
给自己的网站加上HTTPS的更多相关文章
- 免费为网站加上HTTPS
前言 最近有好几位同学直接微信赞助说快点更新文章.这个要和大家说声抱歉,的确很久没有写文章了.我们也不找借口,我会尽力保证多写文章.今天我们的主题来讲解 如何给自己的网站 加上HTTPS HTTPS是 ...
- 免费给自己的网站加 HTTPS
简介 本文是通过 Let's Encrypt 提供的免费证书服务,实现让自己的网站加上 HTTPS.我的网站 -- hellogithub,就是通过这种方式实现的 HTTPS,效果如下: Let's ...
- 如何免费的让网站启用https
本文源自酷壳:如何免费的让网站启用HTTPS 今天,我把CoolShell变成https的安全访问了.我承认这件事有点晚了,因为之前的HTTP的问题也有网友告诉我,被国内的电信运营商在访问我的网站时加 ...
- web开发必看:你的网站支持https吗?
如果有一项技术可以让网站的访问速度更快.更安全.并且seo权重提升(百度除外),而且程序员不需要改代码就可以全站使用,最重要的是,不需要额外花钱,那有这么好的事情吗? HTTP通信协议是全球万维网ww ...
- 如何为网站启用HTTPS加密传输协议
前言 当今时代对上网的安全性要求比以前更高,chrome和firefox也都大力支持网站使用HTTPS,苹果也从2017年开始在iOS 10系统中强制app使用HTTPS来传输数据,微信小程序也是要求 ...
- 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2?
p { margin-bottom: 0.1in; line-height: 120% } 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2? 要在服务器上开启 TLSv1.,通常 ...
- 如何让你的网站支持https
如何让你的网站支持https 当今世界的主流网站基本都是使用https对外界提供服务,甚至有某些公司建议完全使用https, 那么https是什么呢?请参考如下的图解,https是在我们通常说的tcp ...
- 网站部署 HTTPS 中需要做的事情
这篇文章首发于我的个人网站:听说 - https://tasaid.com/,建议在我的个人网站阅读,拥有更好的阅读体验. 这篇文章与 博客园 和 Segmentfault 共享. 前端开发QQ群:3 ...
- 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...
随机推荐
- Dependency Injection 筆記 (1)
<.NET 依賴注入>連載 (1) 本文从一个基本的问题开始,点出软件需求变动的常态,以说明为什么我们需要学习「依赖注入」(dependency injection:简称 DI)来改善设计 ...
- 预编译加速编译(precompiled_header),指定临时文件生成目录,使项目文件夹更干净(MOC_DIR,RCC_DIR, UI_DIR, OBJECTS_DIR),#pragma execution_character_set("UTF-8")"这个命令是在编译时产生作用的,而不是运行时
预编译加速编译 QT也可以像VS那样使用预编译头文件来加速编译器的编译速度.首先在.pro文件中加入: CONFIG += precompiled_header 然后定义需要预编译的头文件: PREC ...
- C#每天进步一点--引用类型和值类型
在刚参加工作面试时,我们经常会遇到有关值类型和引用类型的问题,你回答的怎么样直接影响你在别人心目中的印象,你回答的不好说明你对C#没有深入的了解学习,今天我带大家回顾下C#中的引用类型和值类型. CL ...
- jquery选择器集锦
一,基本选择器: 1 2 3 4 $("#txtName"); $("#txt\\#b");//获取id为 txt#b的元素,\\为转义符 $(" ...
- 学习Java,容易被你忽略的小细节(2)
昨天心情真的太糟糕了,写完<学习Java,值得注意你注意的问题(1)>之后,迎来些许的支持以后就是一片片的谴责.我的主页上涌现出许许多多Java方面的牛人,谴责我水平太低,写的问题太初级. ...
- springmvc登录拦截jsp页面
web.xml配置 <filter> <filter-name>LoginFilter</filter-name> //编写拦截的类的全类名 <filter- ...
- KNN算法——分类部分
1.核心思想 如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性.也就是说找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该 ...
- 文件识别浅谈(含office文件区分)
前言 本文主要根据后台接口识别Office文件类型这一话题做一些分享,主要方向还是放在不能获取到文件名情况下的Office文件识别. 可获取到文件名 如果后端接口可以获取到完成的文件名称,则整个过程会 ...
- 自定义实现一个loghub(或kafka)的动态分片消费者负载均衡?
一般地,像kafka之类的消息中间件,作为一个可以保持历史消息的组件,其消费模型一般是主动拉取方式.这是为了给消费者足够的自由,回滚或者前进. 然而,也正是由于将消费消息的权力交给了消费者,所以,消费 ...
- 5分钟学会Java9-Java11的七大新特性
现在Java有多元化的发展趋势,既有JS又有C++还有C#的影子,不学习那是不行滴. 来来来,花5分钟看看Java9-Java11的七大新特性,还有代码样例. Java11 发布了,然而很多公司还在用 ...