900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > apache http自动跳转https_怎么给网站开启https协议?Apache2下SSL证书安装配置方法...

apache http自动跳转https_怎么给网站开启https协议?Apache2下SSL证书安装配置方法...

时间:2023-06-02 09:52:41

相关推荐

apache http自动跳转https_怎么给网站开启https协议?Apache2下SSL证书安装配置方法...

,未经允许,严禁装载

刚做本站的时候,我也不知道为什么要开启https协议,只是发现有很多网站都是https。当用Chrome浏览器打开本社区网站的时候,发现现实”不安全”,这对于有强迫症的我来说,是不能忍的,于是申请了免费的证书,花了一个多小时才搞定。开启https协议本身不难,但是内容很繁琐。

https具有加密传输通道,有效保障隐私数据密文传输,截取也无法解密。HTTP明文传输,没有SSL加密通道,任何人都可以轻松截取或篡改机密数据。

好了废话不多说,首先,需要申请证书,我用的是亚洲诚信(/)的免费证书,至于证书申请流程可以看看这里:/doc/how-to-get-digital-certificates,如果你已经拥有了证书,请跳过这一步。

有与本站用的是apache2,apache2服务器需要用到for Apache.zip的文件以及自主生成的私钥.key文件(申请证书过程中创建CSR时生成),具体文件见下图:

将SSL证书上传至apache2的目录下,记录一下证书的绝对地址,方便等下使用。

上传好之后,我们需要为apache服务器添加ssl模块支持,命令如下:

sudo a2enmod ssl

然后进入apache2的配置文件目录/etc/apache2/sites-available,找到对应的配置

文件,默认为default-ssl.conf(根据实际环境),找到VirtualHost *:443的配置,并参考如下配置(修改或增加):

<VirtualHost *:443>DocumentRoot 网站根目录SSLEngine onSSLCertificateFile /etc/ssl/certs/.crtSSLCertificateKeyFile /etc/ssl/private/.keySSLCertificateChainFile /etc/ssl/certs/root_bundle.crtSSLProtocol all -SSLv2 -SSLv3SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULLSSLHonorCipherOrder on</VirtualHost>

添加上述配置,保存后,给配置文件建立一个软连接,命令如下:

sudo a2ensite default-ssl

进入apache2的配置文件目录,找到ports.conf,添加Listen 443,如果默认已添加,忽略此步骤。

检测SSL配置

上述的配置完成后,可先用命令检测配置是否正确,若不正确,请不要重启apache2!检测命令如下:

/usr/sbin/apache2ctl -t

输入命令后,若提示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 OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}...</VirtualHost>

保存后执行以下命令,

sudo a2enmod rewrite

然后再次重启一下apache服务器:

sudo service apache2 restart

好了,大功告成,大家加油!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。