龙空技术网

全站免费HTTPS的实现

码蚁 3842

前言:

目前看官们对“apache设置首页跳转”大概比较重视,咱们都想要了解一些“apache设置首页跳转”的相关知识。那么小编同时在网络上收集了一些关于“apache设置首页跳转””的相关内容,希望同学们能喜欢,大家一起来了解一下吧!

很长一段时间没有更新文章了,家里突发了很多事,就一直耽搁了,现在有点时间了,以后会陆续一更新的。今天来说一下服务器全站点实现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 //此处换作自己的主域名。

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 | sh

或:

git clone

cd acme.sh

./acme.sh --install

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

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

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

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

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

结果如下:

备注:用本工具的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

在 <VirtualHost *:80> 内

添加以下配置:

RewriteEngine on

RewriteCond %{HTTPS} !=on

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

重启apache2

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

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

->$: sudo wget -P /etc/apt/sources.list.d/

->$: wget -q -O - | 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

标签: #apache设置首页跳转 #apache二级域名https #apachephphttps配置 #乌班图apache2rewrite