全站免费HTTPS的实现

  • 时间:2018-06-20 22:28 作者:SPEEDX 来源:SPEEDX 阅读:128
  • 扫一扫,手机访问
摘要:很长一段时间没有升级文章了,家里突发了很多事,就一直耽搁了,现在有点时间了,以后会陆续一升级的。今天来说一下服务器全站点实现HTTPS的技术方法,供大家参考,我的服务器是环境是:(LAMP环境:ubuntu16.04+apache2.4.18+mysql14.14+php7.14),所以就以此为平台

很长一段时间没有升级文章了,家里突发了很多事,就一直耽搁了,现在有点时间了,以后会陆续一升级的。今天来说一下服务器全站点实现HTTPS的技术方法,供大家参考,我的服务器是环境是:

(LAMP环境:ubuntu16.04+apache2.4.18+mysql14.14+php7.14),所以就以此为平台,向大家展现试验步骤及方法:

准备工作:

1:首先开启SSL板块:

a2enmod ssl

2:启使用SSL站点

a2ensite default-ssl

3:向apache配置文件中加入监听端口

sudo vim /etc/apache2/ports.conf

#编辑Apache端口配置,加入443端口(HTTPS采使用的443端口传输数据)

Listen 443

4:配置虚拟主机

  编辑000-default.conf文件,加入证书对应的主机头。

sudo vim /etc/apache2/sites-enabled/000-default.conf

ServerName www.whxinteng.com //此处换作自己的主域名。

5:开启防火墙

sudo ufw allow 443/tcp

重启apache:

sudo service apache2 restart 或者:

sudo /etc/init.d/apache2 restart

至此,前期的准备工作已经完成,已经符合安装HTTPS的条件了,接下来就是利使用letsencrypt生成证书和部署证书,手动做这些工作很麻烦,目前,开源项目上有不少工具能自动化完成这些工作,并且能处理续签的问题,工具很多,这里我使用的是国人写的一个工具叫scme.sh的工具,顾民思义就是该工具以scme协议为基础实现letsencrypt证书及相关秘钥生成的。我的实现步骤及方法如下:

1:安装acme.sh自动化配置工具,此工具能自动续期,简单,方便:

安装acme.sh:

curl https://get.acme.sh | sh

或者:

git clone https://github.com/Neilpang/acme.sh.git

cd acme.sh

./acme.sh --install

安装完毕后,肯定要重新打开终端进行操作,起因未知。

注意:安装本工具前要保证当前使用户对网站根目录/var/www/html/有读写的权限

默认是安装在/home/当前使用户名/.acme.sh/下

2:发布证书(以网站根目录方式发布):

acme.sh --issue -d whxinteng.com -d www.whxinteng.com --webroot /var/www/html/

结果如下:

全站免费HTTPS的实现

备注:使用本工具的apahce自动配置的方式一直没有发布成功,不知问题出在了哪儿。

3: 安装证书:

acme.sh --install-cert -d whxinteng.com \

--cert-file /home/speedx/.acme.sh/whxinteng.com/whxinteng.com.cer \

--key-file /home/speedx/.acme.sh/whxinteng.com/whxinteng.com.key \

--fullchain-file /home/speedx/.acme.sh/whxinteng.com/fullchain.cer \

--reloadcmd "service apache2 force-reload"

4: 手动配置apache,使https生效:

sudo vim /etc/apache2/sites-enabled/default-ssl.conf

SSLCertificateFile /home/speedx/.acme.sh/whxinteng.com/fullchain.cer

SSLCertificateKeyFile /home/speedx/.acme.sh/whxinteng.com/whxinteng.com.key

目前证书在 60 天以后会自动升级, 你无需任何操作.

5:关于 更新 acme.sh 到最新版 :

acme.sh --upgrade

或者开启自动更新:

acme.sh --upgrade --auto-upgrade

你也能随时关闭自动升级:

acme.sh --upgrade --auto-upgrade 0

6:增加 rewrite板块

a2enmod rewrite

7: 修改apache配置文件添加自动跳转https规则

sudo vim /etc/apache2/sites-enabled/000-default.conf

增加以下配置:

RewriteEngine on

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]

重启apache2

至此,所有工作已经完成,我的服务器上完美实现。以下是少量和工作有关的东西,顺便简要说一下:

1: google-chrome-table浏览器的安装。

->$: sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/

->$: wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -

->$: sudo apt-get update

->$: sudo apt-get install google-chrome-stable

->$: /usr/bin/google-chrome-stable //启动chrome浏览器

2: 防火墙的安装

->$ : sudo apt-get install ufw

2.1. 启使用

->$ : sudo ufw enable

->$ : sudo ufw default deny

作使用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)

2.2 关闭

->$ : sudo ufw disable

2.3. 查看防火墙状态

->$ : sudo ufw status


  • 全部评论(0)
最新发布的资讯信息
【系统环境|】需要同时掌握AVA和Linux,才可以继续大数据课程的学习(2019-05-18 10:28)
【系统环境|软件环境】学习大数据,一定要了解大数据的这些用途(2019-05-16 10:49)
【系统环境|Linux】bt宝塔控制面板mysql频繁自动停止详细解决办法(2019-05-16 08:52)
【系统环境|】大数据零基础学习路线,新人记得保存收藏哦(2019-05-15 10:54)
【系统环境|】全网最全最新的大数据系统学习路径(2019-05-14 15:38)
【系统环境|Linux】毕业设计:音乐分享系统(2019-05-14 07:48)
【系统环境|】教你零基础如何快速入门大数据技巧(2019-05-12 11:25)
【系统环境|】想学习大数据?这才是完整的大数据学习体系(2019-05-11 11:33)
【系统环境|数据库】小白学习大数据掌握这几个方法可轻松入门(2019-05-10 10:52)
【系统环境|数据库】学习大数据必须了解的大数据开发课程大纲(2019-05-09 11:40)
手机二维码手机访问领取大礼包
返回顶部