为自己的网站安装免费SSL证书
安全套接字层或称SSL,是一种加密网站和浏览器之间连接的标准安全技术。这确保服务器和浏览器之间传输的数据保持隐私和安全。它被成千上万的人使用来保护他们与客户的通信。要启用SSL链接,Web服务器需要安装SSL证书。
你可以创建你自己的SSL证书,但是这默认不会被浏览器所信任,要解决这个问题,你需要从受信任的证书机构(CA)处购买证书,我们会向你展示如何获取证书并在apache中安装。
(1)在Wosign 申请获得一年免费SSL证书,注册账号填写信息后,
可以获得一个zip压缩包,里面有很多服务器的证书,选择与自己服务器相应的证书。
(2)生成一个证书签名请求
证书机构(CA)会要求你在你的服务器上生成一个证书签名请求(CSR)。这是一个很简单的过程,只需要一会儿就行,你需要在你的
服务器上运行下面的命令并输入需要的信息:
# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr
输出看上去会像这样:
这一步会生成两个文件:一个用于解密SSL证书的私钥文件,一个证书签名请求(CSR)文件(用于申请你的SSL证书)。
根据你申请的机构,你会需要上传csr文件或者在网站表格中粘帖该文件内容。
(3)用下面的命令确保ssl模块已经加载进apache了:
# a2enmod ssl
如果你看到了“Module ssl already enabled”这样的信息就说明你成功了,如果你看到了“Enabling module ssl”,那么你还需要用下面的命令重启apache:
# service apache2 restart
(4)配置SSL
>>> vi /etc/apache2/sites-available/000-default.conf
1. 改成 因为ssl协议的端口是443
2.DocumentRoot下面添加
ServerName [yourdomainname.com, 替换成您的域名]
SSLEngine on
#/usr/local/ssl/ 下面放的是证书
SSLCertificateFile /usr/local/ssl/2_yourdomainname.crt
SSLCertificateKeyFile /usr/local/ssl/3_yourdonaminname.key
SSLCACertificateFile /usr/local/ssl/1_root_bundle.crt
(5)/etc/init.d/apache2 restart
(6) Browser 中: https://yourdomainname.com
(7)重定向HTTP请求到HTTPS中(视个人情况而定)
1) >>> vi /etc/apache2/sites_enabled/000_default.conf
2)在自己的虚拟主机中配置
添加如下内容即可:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
3)执行加载Rewrite模块:a2enmod rewrite
4)执行后,会提示OK和重启Apache命令(/etc/init.d/apache2 restart)
【群438981336,证书安装交流分享,群内大神解答问题】