一直以来想做这个事,可是总是由于一些其他原因给耽误了,今天上午比较有空,就准备将我自己的个人网站升级成https协议了,整个过程没有想象的那么复杂,主要是自己平时也对https协议这个东西做了不少了解,真正配置https协议的就只需要那几个步骤。
首先:需要申请证书文件,现在阿里云,腾讯云都有提供免费的证书,自己只需要去申请就行了,笔者因为买的是阿里云,所以申请的是阿里云证书,申请的时候需要绑定自己的网站域名,申请完之后,我们就可进入阿里云控制台看到相应的证书信息了。
右边的下载功能,提供了各种不同服务器版本的证书文件,有tomcat,apache,nginx,笔者用的apache,所以下载对应的证书文件如下:
然后的步骤就是要配置两个文件了,一个httpd.conf文件,一个是httpd-ssl.conf文件,具体的介绍在阿里云官网的相应帮助栏已经非常清楚了,具体内容如下:
- 修改httpd.conf配置文件。
- 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数
#LoadModule ssl_module modules/mod_ssl.so #删除行首的配置语句注释符号“#”加载mod_ssl.so模块启用SSL服务,Apache默认是不启用该模块的。 #Include conf/extra/httpd-ssl.conf #删除行首的配置语句注释符号“#”。
说明 如果您在httpd.conf文件中没有找到以上配置语句,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。可执行
yum install -y mod_ssl
命令安装mode_ssl模块。 - 保存httpd.conf文件并退出。
- 在Apache安装目录下,打开Apache/conf/httpd.conf文件,并找到以下参数
- 修改httpd-ssl.conf配置文件。
- 打开Apache/conf/extra/httpd-ssl.conf文件并找到以下参数,按照下文中注释内容进行配置。
说明 根据操作系统的不同,http-ssl.conf文件也可能存放在conf.d/ssl.conf目录中。
<VirtualHost *:443> ServerName #修改为申请证书时绑定的域名www.YourDomainName1.com。 DocumentRoot /data/www/hbappserver/public SSLEngine on SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。 SSLHonorCipherOrder on SSLCertificateFile cert/domain name1_public.crt # 将domain name1_public.crt替换成您证书文件名。 SSLCertificateKeyFile cert/domain name1.key # 将domain name1.key替换成您证书的密钥文件名。 SSLCertificateChainFile cert/domain name1_chain.crt # 将domain name1_chain.crt替换成您证书的密钥文件名;证书链开头如果有#字符,请删除。 </VirtualHost>
- 保存httpd-ssl.conf文件并退出
- 打开Apache/conf/extra/httpd-ssl.conf文件并找到以下参数,按照下文中注释内容进行配置。
- 重启Apache服务器使SSL配置生效。在Apache的bin目录下执行以下命令
apachectl -k stop // 关闭apache服务
apachectl -k start // 开启apache服务
即可实现https://XX访问了。
补充点:
1. 开启之前,需要将443端口开放,在本机的时候,给防火墙增加一条配置规则,准许443端口的数据包流入
firewall-cmd --zone=public --add-port=443/tcp --permanent
同时需要在阿里云控制台中,在给实例的安全组规则中也给443端口配置成放行状态。
2. 启用https访问之后,可以屏蔽掉原有的http访问,使用重定向技术,在httpd.conf文件的<VirtualHost *:80> </VirtualHost>标签
中间,添加以下重定向代码即可。:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
简单配置完后即可看到访问网站时地址栏左边的小锁图标了。