阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)-阿里云开发者社区

开发者社区> 阿里云管家(附最新优惠)> 正文

阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)

简介:
+关注继续查看

阿里云管家分享:阿里云服务器配置SSL证书成功开启Https 案例

环境:


  • 阿里云云服务器    Windows Server 2008 标准版 SP2 中文版(趁1212优惠买的一年的水货配置)
  • 阿里云购买的域名(已备案、已解析)
  • 服务器:phpstudy:php5.4.45+Apache(因为是phpstudy集成的,所以没找到apache的版本,我感觉应该是2.4.8之前的版本)
  • SSL证书 (配置过程中,我申请了2个不同机构的证书,第一个GG了,是在   https://www.trustasia.com/   申请的1年免费证书。成功的是用的第二个,在  https://www.myssl.cn/products/freessl.html   申请的1个月的试用证书。所以是我技术问题还是???)



步骤:


  1. 申请证书(某度很多教程的,大家自行搜索)

  2. 上传证书


    登陆阿里云控制台=》安全(云盾)=》CA证书服务=》上传原有证书(也可以直接买阿里云的证书,这样就不用上传,不过个人网站一般是申请免费的证书)

  3. 开启服务器443端口(https默认端口)


    阿里云控制台=》云计算基础服务=》云服务器ECS=》网络和安全=》安全组,没有安全组的创建一个安全组,有的直接选择相应安全组,点击配置规则=》添加安全组规则(把80端口和443端口添加进安全组,授权对象填0.0.0.0/0

  4. 开启apache相应配置

    修改httpd.conf文件

    LoadModule ssl_module modules/mod_ssl.so

    Include conf/extra/httpd-ssl.conf

    LoadModule rewrite_module

    去掉上面三行前的"#"

    保存退出


  5. 在apache目录下的conf目录下新建一个cert目录,将你的证书文件放在这里面

  6. 开启php的openssl模块,在phpstudy的“php扩展及设置”里面开启即可

  7. 修改httpd-ssl.conf文件,保存退出

    在..Apacheconfextra目录下,打开httpd-ssl.conf文件(注:先备份一遍,以免出错,因为这个文件的错误我重装phpstuy不下10回)

    在文件里定位到  Listen 443  这句话这里,把  从这句话到这个文件结尾的文本    全部注释掉或者删除掉,替换成以下代码

    Listen 443               //这里强调一下,如果Listen 443这句代码在这个文件里重复出现了,即重复监听,apache会报错,然后不能启动

    SSLStrictSNIVHostCheck off

    SSLCipherSuite AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL

    SSLProtocol all -SSLv2 -SSLv3

    <VirtualHost *:443>

        #这里的路径设置你的网站根目录

        DocumentRoot "C:phpStudyPHPTutorialWWW"  

        #这里xxxxx.com替换成你的域名

        ServerName www.xxxxx.com    

        #这里xxxxx.com替换成你的域名

        ServerAlias xxxxx.com          

        #这里的路径设置你的网站根目录    

        <Directory "C:phpStudyPHPTutorialWWW">      

            Options FollowSymLinks ExecCGI

            AllowOverride All

            Order allow,deny

            Allow from all

            Require all granted

        </Directory>

        SSLEngine on

        #你的公钥文件

        SSLCertificateFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.crt"             


       #你的私钥文件(有的机构命名为private或者以你的域名为文件名命名)

        SSLCertificateKeyFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/server.key"     


        #证书链文件(有的机构命名为CA) 我尝试过注释掉这个选项,结果apache不能运行

        SSLCertificateChainFile "C:/phpStudy/PHPTutorial/Apache/conf/cert/chain.crt"        


    </VirtualHost>

      
  8. 重启apache,看看能不能正常启动,如果有异常,尝试把第4步中httpd-ssl.conf代码恢复注释(把#重新加上去,保存退出),再次重启apache,如果此时能够正常启动,则说明httpd-ssl.conf文件中有错误(是不是重复监听了?证书路径对不对?证书是否有效?),请认真检查,直到能够正常启动apache

  9. 打开hosts文件

    我的hosts文件在C:WindowsSystem32driversetc目录下

    用记事本打开,在127.0.0.1       localhost下面添加一句话:

    127.0.0.1       www..xxxxx.com     //这里替换成你的域名

    保存退出

  10. 修改.htaccess文件,使域名重定向到https(这样访问域名的时候就不用手动写https://,它会自动添加的)

    在你的网站的根目录(我的是WWW目录)下添加或者修改.htaccess文件,代码如下

    RewriteEngine On

    RewriteCond %{SERVER_PORT} 80

    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

    Options +FollowSymLinks

    order allow,deny

    allow from all

    <IfModule mod_rewrite.c>

    RewriteEngine on

    RewriteBase /

    RewriteCond %{SERVER_PORT} !^443$

    RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

    </IfModule>

    保存退出

  11. 检查服务器是否已经关闭了windows自带的IIS服务器(因为可能会占用apache的80端口),检查是否关闭了系统防火墙,检查是否有其他程序占用了80或者443端口。确认都已经关闭后进行下一步     (这里给大家贴一个端口扫描工具用于检查:http://tool.chinaz.com/port/

  12. 重启apache

  13. 启动浏览器检查是否可以访问localhost 及你的域名,并且域名头部标志为https。如果不能正常访问,请根据以上步骤重新检查。

  14. SSL配置成功,能够使用https访问你的域名了!


如果在阿里云官方买产品包括:云服务器,云数据库等, 参考下面这些建站干货

阿里云产品2000元代金券领取地址: 阿里云云小站
阿里云官方最新活动公布地址:阿里云官方最新活动 (实时更新)
阿里云服务器实例规格组地址:官方云服务器实例
阿里云学习路径地址:阿里云学习路径

在购买过程中有任何不懂,都可以拨打官方热线进行咨询。售前电话:95187转1

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
初次尝试ecs部署spring boot个人小项目
本学期在学习课程中需要实现高级编程语言设计一个app或者web管理系统,我选择用spring boot写了一个博客管理系统,初次尝试了在aliyun部署项目
6 0
详细介绍RabbitMQ在Linux(centos6.5)环境下的安装过程
标题取了个很长的名字,注意是因为RabbitMQ安装起来真的是太恶心了,各种问题,前后折腾了好几天终于安装好了。本文就给大家详细介绍下。
3 0
SpringDataJPA之快速入门
Spring Data JPA:Spring Data JPA 是 spring data 项目下的一个模块。提供了一套基于 JPA标准操作数据库的简化方案。底层默认的是依赖 Hibernate JPA 来实现的。 Spring Data JPA 的技术特点:我们只需要定义接口并集成 Spring Data JPA 中所提供的接口就可以了。不需要编写接口实现类。
4 0
数据库框架MyBatisPlus的使用解析!详细解析MyBatisPlus中API的使用方式
本篇文章具体对数据库框架MyBatisPlus中的API的使用方式进行详细的说明解析,包括注解的使用,CRUD接口的使用和条件构造器的使用。通过实例对MyBatisPlus中API方法进行具体的使用说明,可以帮助你学会在项目中集成使用MyBatisPlus框架。
3 0
声称掌握核心技术,实则换皮Python?国产编程语言木兰引起社区热议
近日有媒体称,一款面向智能物联网和编程教育的国产编程语言出世,名为木兰。消息一出,引起了开发者社区的讨论。但有人发现,下载的程序包解包后——是个 Python?
5 0
云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验
2021年双十一刚刚落幕,已连续多年稳定支持双十一大促的云原生数据仓库AnalyticDB,今年双十一期间仍然一如既往的稳定。除了稳定顺滑的基本盘之外,AnalyticDB还有什么亮点呢?下面我们来一一揭秘。
4 0
打破谷歌封锁,华为HMS Core逆风出世,鸿蒙系统稳了
随着 HMS Core 逆风出世,华为在打破美国、谷歌封锁上又迈出重要一步。
4 0
中科院计算所对「木兰」问题进行处理:当事人停职,将深入调查
国产编程语言「木兰」在推出之后受到了人们的质疑。昨天下午,中国科学院计算技术研究所对此进行了回应。
4 0
+关注
44
文章
19
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载