手把手教你apache设定https

Posted 与文萱小叔叔一起学Linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手教你apache设定https相关的知识,希望对你有一定的参考价值。

网上有很多这方面的教程   但是都不太容易看懂  且都杂乱无章   到最后    不知道都说的些什么。遇到一些错误大多都是相互抄袭。

今天我也写一写这方面的内容  希望能对你真正有用          

httpshttp+openssl构成    实现加密传输

简单地说  默认用户不输入httphttps   会自动跳转到https。就需要配置两个虚拟机。一个80端口,一个443端口

 

先下载各套件吧

下载apr:  wget  -c http://mirrors.advancedhosters.com/apache//apr/apr-1.6.5.tar.gz  -P /opt

下载apr-util:wget  -c  http://mirrors.advancedhosters.com/apache//apr/apr-util-1.6.1.tar.gz  -P /opt

下载apache2.4wget -c http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.37.tar.gz  -P /opt

 安装关联套件:yum install -ygcc  gcc-c++  openssl opens-devel openldap openldap-devel 

进入到/opt

cd   /   opt

  

拆包apr 并进入apr-1.65文件夹进行准备预编译

tar  apr-1.6.5.tar.gz

cd apr-1.65

必须做这一步  否则无法正常预编译 

vim    configure

查找RM='$RM'   将其修改为   RM='$RM -f'   并存储

 

./configure --prefix=/usr/local/apr

 

编译并安装:make && make install

 

 

 

切换到上级文件夹  拆包  apr-util-1.6.1.tar.gz

cd ../;tar  -zxf   apr-util-1.6.1.tar.gz

 

进入到apr-util-1.6.1文件夹

 

cd  apr-util-1.6.1

预编译:      ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

 

编译并安装   make && makeinstall

 

切换到上级文件夹  拆包 httpd-2.4.37.tar.gz

cd ../;tar -zxf httpd-2.4.37.tar.gz

 

进入到httpd-2.4.37文件夹

cd httpd-2.4.37

 

 

预编译apache2.4

 

./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util  --enable-so --enable-rewrite --enable-ssl--with-mpm=prefork --with-proxy --with-headers --with-expires --enable-session --with-ldap

 

 

注意:如果你采用的是  yum install   -y   apr apr-util apr-devel  apr-util-devel 安装的   apache的编译参数选项不要添加 --with-apr --with-apr-util     。一般情况下通过yum 安装  apr apr-util相关套件是没有问题的。如果启动apache遇到apr-util相关的错误,你该考虑编译安装aprapr-util了。如果你在编译apr-util遇到了一些错误,你也别到处找答案了,你直接降低一个版本使用1.5.x的就可以

 

编译并安装程序

make && make install

 

 

 

生成cert文件夹

mkdir  /usr/local/apache2.4/conf/cert

 用于存放你申请的SSL证书   SSL证书需要验证你的域名。参照阿里云申请SSL

不论你是哪里买的域名你都可以在阿里云申请免费版的签证    。最后将 证书上传到    cert文件夹里

生成80   443端口的虚拟机范本  wenxuan.conf   

vim  /usr/local/apache2.4/conf/extra/wenxuan.conf

原始码如下:

#####这是80端口虚拟机开始######

<VirtualHost *:80>

#绑定的网站域名

           ServerNamewenxuan.503e.net

#绑定的网站别名

           ServerAliaswenxuan.503e.net

#开启重写引擎     Rewite是重写的意思 Engine是引擎的意思

          RewriteEngine On

#编写重写规则   同样  Rewrite是重写的意思  Rule是规则的意思  ^以什么开始     ^(.*)$这部分是正则   前期不理解  先固定记下来吧   这部分指的是域名后面带的路径       

           RewriteRule^(.*)$ https://wenxuan.503e.net$1 [R=301,L]

  

   </VirtualHost>

#####这是80端口虚拟机范本结束

 

####监听端口443

 

 Listen 443

 

####这是443端口的虚拟机范本开始######

  <VirtualHost*:443>

#绑定的网站的域名

          ServerNamewenxuan.503e.net

#网站程序的存放路径

          DocumentRoot"/usr/local/apache2.4/htdocs"

         CustomLog   "/usr/local/apache2.4/logs/wenxuan.log"  combined

          ErrorLog    "/usr/local/apache2.4/logs/wenxuan_error.log"

  #开启SSL引擎

        SSLEngine On

#Certificate是证书的意思     说清楚三个文件的存放路径即可

       SSLCertificateFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net_public.crt"

       SSLCertificateKeyFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net.key"

        SSLCertificateChainFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net_chain.crt"

 </VirtualHost>

####这是443端口的虚拟机范本结束######

 

 

最终效果图图示如下:



备份httpd.conf   

cp /usr/local/apache2.4/conf/httpd.conf{,.bak}

 

 

使用vivim编辑   /usr/local/apache2.4/conf/httpd.conf

 

引用你编写的范本文件

Include conf/extra/wenxuan.conf

添加一行  ServerName  localhost:80  

 

找到两个关键词   分别是mod_ssl   mod_rewrite 。怎么找    vim httpd.conf   直接拿输入  /输入关键词    比如  /mod_ssl   回车即可找到  将前面的#删掉。以同样的方式找到mod_rewrite 删掉前面的#

 LoadModule ssl_modulemodules/mod_ssl.so

 LoadModulerewrite_module modules/mod_rewrite.so

 最后存储。

 

最后如何知道配置文件没问题?

/usr/local/apache2.4/bin/httpd  -t

/usr/local/apache2.4/bin/apachectl  -t

如果提示

Syntax OK表示没问题。

最后启动apache :

/usr/local/apache2.4/bin/httpd -k start

/usr/local/apache2.4/bin/apachectl start

 

在浏览器输入你绑定的域名 即可看到效果:

图示如下是文萱申请了两个域名证书。



文萱原创    如有不足请指正       谢谢

联络先:imwenxuan@gmail.com

部落格:http://www.503e.net

 


以上是关于手把手教你apache设定https的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你实战apache调优之apache模式介绍

手把手教你安装 FastAdmin 到虚拟主机 (phpStudy)

三教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》

一基础折线图详解《手把手教你 ECharts 数据可视化详解》

三教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》

三教你搞懂渐变堆叠面积图《手把手教你 ECharts 数据可视化详解》