本文原创,未经允许,严禁装载
刚做本站的时候,我也不知道为什么要开启https协议,只是发现有很多网站都是https。当用Chrome浏览器打开本社区网站的时候,发现现实”不安全”,这对于有强迫症的我来说,是不能忍的,于是申请了免费的证书,花了一个多小时才搞定。开启https协议本身不难,但是内容很繁琐。
https具有加密传输通道,有效保障隐私数据密文传输,截取也无法解密。HTTP明文传输,没有SSL加密通道,任何人都可以轻松截取或篡改机密数据。
好了废话不多说,首先,需要申请证书,我用的是亚洲诚信(https://www.trustasia.com/)的免费证书,至于证书申请流程可以看看这里:https://www.trustasia.com/doc/how-to-get-digital-certificates,如果你已经拥有了证书,请跳过这一步。
有与本站用的是apache2,apache2服务器需要用到for Apache.zip的文件以及自主生成的私钥.key文件(申请证书过程中创建CSR时生成),具体文件见下图:
将SSL证书上传至apache2的目录下,记录一下证书的绝对地址,方便等下使用。
上传好之后,我们需要为apache服务器添加ssl模块支持,命令如下:
然后进入apache2的配置文件目录/etc/apache2/sites-available,找到对应的配置
文件,默认为default-ssl.conf(根据实际环境),找到VirtualHost *:443的配置,并参考如下配置(修改或增加):
<VirtualHost *:443>
DocumentRoot 网站根目录
SSLEngine on
SSLCertificateFile /etc/ssl/certs/frostless.net.crt
SSLCertificateKeyFile /etc/ssl/private/frostless.net.key
SSLCertificateChainFile /etc/ssl/certs/root_bundle.crt
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL
SSLHonorCipherOrder on
</VirtualHost>
添加上述配置,保存后,给配置文件建立一个软连接,命令如下:
sudo a2ensite default-ssl
进入apache2的配置文件目录,找到ports.conf,添加Listen 443,如果默认已添加,忽略此步骤。
检测SSL配置
上述的配置完成后,可先用命令检测配置是否正确,若不正确,请不要重启apache2!检测命令如下:
输入命令后,若提示Syntax OK,则表示配置正常(如果提示错误,请根据具体错误修改,直到提示Syntax OK),可以重启apache2,命令如下:
sudo service apache2 restart
打开浏览器,输入https://你的域名,如浏览器地址栏显示加密小锁,则表示证书配置成功。若显示无法连接,请确保防火墙或安全组等策略有放行443端口(SSL配置端口)。
http重定向到https(可选)
若可以成功访问https,那么我们再执行最后一步,强制用户即使输入http,也跳转到https上来,操作很简单,添加下列三行代码即可。修改默认网站配置 /etc/apache2/site-avaliable/000-default.conf
<VirtualHost *:80>
...
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
...
</VirtualHost>
保存后执行以下命令,
然后再次重启一下apache服务器:
sudo service apache2 restart
好了,大功告成,大家加油!
欢迎关注我的博客,原文地址:
https://www.frostless.net/index.php/2020/10/29/apache2-ssl/www.frostless.net
apache2.2.4如何安装SSL证书与问题解答
发布时间:2019-09-09 20:13:02 来源:青锋建站 作者:青锋建站
于由于谷歌对网站排序上使用https这一参数,也随着外贸行业不断发展,许多网站受到安全的威胁,于是网站安装SSL证书成了当今的潮流,尤其是在电商交易行业。但是大多数企业站点并无具大的数据价值,多是一些展示功能,因此对于内容、新闻、官网类的
网站受到攻击多是由于网站布署与维护原因,不安装SSL证书问题不大。以下是青锋建站给大家分享的apache2.2.4如何安装SSL证书与问题解答、apache2.2.4如何安装SSL证书步骤。
1、开启apache ssl模块
将#LoadModule ssl_module modules/mod_ssl.so前面的“#”去掉,来开启apache的ssl模块;
注意:
由于许多apache版本是不包括ssl模块的,如果环境下不包括mod_ssl.so,则需要下载包括mod_ssl.so版本的apache,并将该模块放在模块目录下面。
windows下apache版本下载地址为:https://archive.apache.org/dist/httpd/binaries/win32/;
apache安装配置:http://www.sjzphp.com/webdis/apache_844.html
apache中linux版本-https://archive.apache.org/dist/httpd/
另外:有时php需要开发openssl模块:
将#extension=php_openssl.dll前面的“#”去掉,如果当前版本没有该模块,需要下载。
2、下载证书
下载证书并将证书放在服务器上,这里我们以apache所在目录为例。将证书放在如下目录:apache/cert/xxx/。目录形式不唯一,可以自行定义。必须与下面apache虚拟主机中的证书路径一致即可。
3、给apache虚拟主机安装SSL证书
如果购买的SSL证书是单域名版本的,只需要给相应的虚拟主机安装即可以,需要有服务器操作权限,如果购买的是多域名版本,可以给服务器上所有的网站安装SSL证书。apache虚拟主机安装SSL证书配置如下:
<VirtualHost *:443>
ServerAdmin admin@myhost.com
#根据需要配置为实际的域名
ServerName www.xxx.com
ServerAlias xxx.com
Header set Access-Control-Allow-Origin *
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLCertificateFile cert/xxx/2787247_www.xxx.com_public.crt
SSLCertificateKeyFile cert/xxx/2787247_www.xxx.com.key
SSLCACertificateFile cert/xxx/2787247_www.xxx.com_chain.crt
#以上三条规划中的证书名称需要替换为实际中的证书名称
DocumentRoot “D:DedeAMPZWebRootqqcms”
php_admin_value open_basedir “D:DedeAMPZWebRootqqcms”
</VirtualHost>
##VhostEnd
4、给服务器上所有的网站安装SSL证书
打开Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下参数并进行配置。
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL协议支持协议,去掉不安全的协议。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 使用此加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name_public.crt # 将domain name_public.crt替换成您证书文件名。
SSLCertificateKeyFile cert/domain name.key # 将domain name.key替换成您证书的秘钥文件名。
SSLCertificateChainFile cert/domain name_chain.crt # 将domain name_chain.crt替换成您证书的秘钥文件名;
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
5、一些厂商SSL证书安装指南汇总
A-阿里云SSL证书安装指南:https://help.aliyun.com/document_detail/98727.html
B-腾讯云SSL证书安装:https://cloud.tencent.com/product/ssl
以上就是青锋建站给大家分享的apache2.2.4如何安装SSL证书与问题解答、apache2.2.4如何安装SSL证书步骤。青锋建站,提供专业的高品质网站制作服务,包括网站建设,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,为企业构建强有力的营销平台。