Apache如何配置HTTPS

有些浏览器会对不加密的HTTP协议标记为“不安全”(例如Chrome浏览器),这很显然会给浏览者留下不好的印象。

现在Symantec有免费版的DV单域名SSL证书可以申请,特别适合个人网站使用。申请容易,但是配置困难(尤其是Apache服务器)。接下来,我根据多个文章和自身经验来总结出安装方法,希望我写的文章有帮助。

首先在可以申请证书的网站申请证书,申请成功后就下载证书。大多数域名注册商都可以申请证书,但我建议最好在阿里云申请:

在下载证书之前,如果像阿里云一样选择服务器类型进行下载,那就选择Apache;如果是选择格式进行下载,那就选择“PEM_Apache”。 

在Apache安装目录里新建“cert”文件夹,然后把下载完的证书解压到这个文件夹里。一般而言解压后会有三个文件:

 从上到下依次是证书文件(***.crt)、密钥文件(***.key)和证书链文件(有ca或chain等字眼的crt文件)。具体情况请以颁发证书的网站为准。

接下来打开Apache安装目录——》conf——》“httpd.conf”文件,找到以下语句

#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

把前面的“#”给去掉。

注意:如果没有找到

#LoadModule ssl_module modules/mod_ssl.so

请确认是否编译OpenSSL,不过如果从http://httpd.apache.org/docs/current/platform/windows.html#down下载安装包,有90%是不可能的。

然后打开Apache安装目录——》conf——》extra——》“httpd-ssl.conf”文件,找到以下语句并进行修改:

SSLProtocol all -SSLv2 -SSLv3    #多加一个-SSLv2
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile 证书路径
SSLCertificateKeyFile 密钥路径
SSLCertificateChainFile 证书链路径    #如果有“#”,请去掉

打开CMD,cd到Apache安装目录——》bin,发出

.\httpd -k restart

用浏览器访问“https://你的域名”:

如果出现如上图所示的样,说明你配置HTTPS成功!

如何使访问本网站的HTTP协议自动转换为HTTPS(选做):

找到以下语句

#LoadModule rewrite_module "modules/mod_rewrite.so"

把前面的“#”给去掉。

找到以下语句

ServerName www.exmaple.com:80   #如果找不到,请查找“ServerName”

把“www.exmaple.com:80”改为你的域名。

在文件尾部添加以下语句:

<IfModule rewrite_module>
  RewriteEngine on
  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
</IfModule>

在浏览器直接访问你的域名(不要加任何东西):

如果能自动转换成上图所示的样,说明自动转换配置成功。

如果感兴趣,你也可以访问myssl.com来检查你配置的HTTPS的安全级别

本人写的文章可能有疏忽地方,望各位读者批评指出! 

test

发布了4 篇原创文章 · 获赞 0 · 访问量 263

猜你喜欢

转载自blog.csdn.net/weixin_39523487/article/details/86693962