apache配置安全证书https踩坑记录

本文详细介绍了如何在Apache服务器上申请、上传并配置免费SSL证书,包括证书文件管理、VirtualHost设置、SSL参数配置以及解决从HTTP到HTTPS的转向问题。同时提醒读者注意检查443端口和防火墙设置。
摘要由CSDN通过智能技术生成

apache配置安全证书有如下几步
一、申请证书
这个网上有很多免费的,我用的是阿里云的服务器,在阿里云后台就可以申请免费证书。

二、上传证书
申请好证书后,根据服务器用的什么软件,是apache还是ngnix,下载相应的证书文件,我用的是apache,有三个文件:公钥文件、私钥文件、链文件。下载好这三个文件,上传到服务器的某个文件夹,建议直接上传到apache的conf文件夹,在该文件夹下新建一个cert文件夹,将证书上传到这里。

三、配置 conf 文件
我的网站用的是django框架,这里只需要在原有的框架基础上编辑,前两行改为443端口。
中间有SSL的根据自己的域名配置即可。

listen 443
<VirtualHost *:443>
        # 域名
        ServerName worksite.com
        ServerAlias worksite.com

        #指定website的wsgi.py配置文件路径
        WSGIScriptAlias / /var/www/html/worksite/worksite/wsgi.py

        # 指定访问和错误日志路径,这里的文件夹要提前建好
        ErrorLog  /var/www/html/worksite/log/error_log
        CustomLog /var/www/html/worksite/log/access_log common

        #指定项目路径
        #WSGIPythonPath /var/www/html/worksite

        # ssl
        SSLEngine on
        SSLHonorCipherOrder on
        SSLProxyCipherSuite PROFILE=SYSTEM
        SSLCertificateFile /etc/httpd/conf/cert/www.worksite.com_public.crt
        SSLCertificateChainFile /etc/httpd/conf/cert/www.worksite.com_chain.crt
        SSLCertificateKeyFile /etc/httpd/conf/cert/www.worksite.com.key

        <Directory /var/www/html/worksite>
                <Files wsgi.py>
                        Require all granted
                </Files>
        </Directory>

        #项目静态文件地址, Django项目中静态文件的路径
        Alias /static /var/www/html/worksite/static
        <Directory /var/www/html/worksite/static>
                AllowOverride All
                Options FollowSymLinks
                Require all granted
        </Directory>

        #项目media地址, 上传图片等文件夹的路径
        Alias /static /var/www/html/worksite/media
        <Directory /var/www/html/worksite/static/media>
                AllowOverride None
                Options FollowSymLinks
                Require all granted
        </Directory>
</VirtualHost>

四、http问题
我在apache里配置Rewrite没有配置成功。因此采取了另一种方式实现从http到https的访问转向。
就是在apache的默认文档目录(linux一般为/var/www/html)里新建一个index.html文件(apache默认文件):

<html>
<head>
  <meta http-equiv="Refresh" content="0; URL=https://www.mysite.com/" />
</head>
</html>

这样当用户访问不带s的http的时候,就会打开这个index.html文件,而这个文件又会自动立即转向到https网站,这样就实现了转向。
或者如果正好有需要配置一个不需要https的网站,比如公司展示性的官网,用http也不涉及到安全问题,而且网站只是几个静态页面,正好可以放在:/var/www/html文件夹下。这样就可以一个域名同时实现两个功能,分别用http和https访问。

五、其他问题
注意服务器的443端口要打开,查看一下防火墙的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值