首页 > 资源分享 > 正文
Apache下配置网站ssl实现https访问

Apache下配置网站ssl实现https访问

前面有总结一篇《Nginx下配置网站ssl实现https访问》,相比之Nginx使用Apache的人更多,因为Apache配置起来简单并且稳定,今天的话就整理一下Apache下配置网站SSL实现https访问的方法

第一步:服务器环境,lamp即Linux+Apache+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lamp环境(同类产品还有amh有免费版以及收费版),具体安装以及使用方法都可以在其官方论坛找到详细的操作文档。

第二步:创建你的网站,使用lamp环境创建你的网站,已有网站的,确保你的程序在lamp下能够正常的运行,以wordpress为例,lamp跟lnmp下的伪静态规则是不同的,有过更换的,要记得切换。

第三步:申请免费的ssl证书,关于ssl证书的申请,之前已经有人给出了详细的教程(传送门)。

<前面三步是从上一篇里面直接复制过来的,以免单独看到这篇教程的朋友说步骤不全!>

第四步:启用Apache的SSL服务,打开文件/www/wdlinux/httpd-2.2.24/conf/httpd.conf,查找#Include conf/extra/httpd-ssl.conf,将前面的#号去掉并保存。

第五步:配置证书,Apache的SSL证书分xxx.key私钥,xxx.crt是公钥,root.crt是根证书。上传证书至/www/wdlinux/httpd-2.2.24/conf/目录。打开/www/wdlinux/httpd-2.2.24/conf/extra/httpd-ssl.conf文件,分别查找SSLCertificateFile(公钥),SSLCertificateKeyFile(私钥),#SSLCertificateChainFile(根证书,有#的先去掉),此三项分别是证书路径的配置,路径默认是/www/wdlinux/httpd-2.2.24/conf/,证书名称的话就根据你实际的证书名称来设置就好了,三个密匙不要弄错。

第六步:配置网站,同上在/www/wdlinux/httpd-2.2.24/conf/extra/httpd-ssl.conf文件中配置网站信息,DocumentRoot目录修改为你网站的真实目录,ServerName修改为你的域名或者IP。

DocumentRoot "/www/wdlinux/httpd-2.2.22/htdocs"
ServerName www.example.com:443

第七步:全站http跳转https,以上配置完成之后就可以实现https访问了,但是这个时候http跟https是并存的, Apache下很简单,就是多写一条伪静态规则就是了,打开网站根目录的.htaccess文件,在之前的伪静态规则后面添加以下代码,这是全站跳转的规则,你也可以根据你自己的需求分目录跳转,修改一下伪静态规则路面的目录就好了。

RewriteEngine on
RewriteBase / 
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

第八步:重启Apache,以上就能够实现Apache下的全站https访问了。

备注:WDCP最新V3版本下,如果按照此步骤设置,发现重启Apache失败,是因为mod_slotmem_shm.so跟mod_ssl.so两个模块没有启动,在httpd.conf中取消注释再重启就好了

文章评论

共有 1 条评论

  1. 美莲

    谢了.学习中,先顶

Top