阿里云服务器配置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个月的试用证书。所以是我技术问题还是???)
步骤:
- 申请证书(某度很多教程的,大家自行搜索)
- 上传证书
登陆阿里云控制台=》安全(云盾)=》CA证书服务=》上传原有证书(也可以直接买阿里云的证书,这样就不用上传,不过个人网站一般是申请免费的证书)
- 开启服务器443端口(https默认端口)
阿里云控制台=》云计算基础服务=》云服务器ECS=》网络和安全=》安全组,没有安全组的创建一个安全组,有的直接选择相应安全组,点击配置规则=》添加安全组规则(把80端口和443端口添加进安全组,授权对象填0.0.0.0/0)
- 开启apache相应配置
#修改httpd.conf文件LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule rewrite_module
#去掉上面三行前的"#"
保存退出 - 在apache目录下的conf目录下新建一个cert目录,将你的证书文件放在这里面
- 开启php的openssl模块,在phpstudy的“php扩展及设置”里面开启即可
- 修改httpd-ssl.conf文件,保存退出
在..\Apache\conf\extra目录下,打开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:\phpStudy\PHPTutorial\WWW"
#这里xxxxx.com替换成你的域名
ServerName www.xxxxx.com
#这里xxxxx.com替换成你的域名
ServerAlias xxxxx.com
#这里的路径设置你的网站根目录
<Directory "C:\phpStudy\PHPTutorial\WWW">
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> - 重启apache,看看能不能正常启动,如果有异常,尝试把第4步中httpd-ssl.conf代码恢复注释(把#重新加上去,保存退出),再次重启apache,如果此时能够正常启动,则说明httpd-ssl.conf文件中有错误(是不是重复监听了?证书路径对不对?证书是否有效?),请认真检查,直到能够正常启动apache
- 打开hosts文件
我的hosts文件在C:\Windows\System32\drivers\etc目录下
用记事本打开,在127.0.0.1 localhost下面添加一句话:
127.0.0.1 www..xxxxx.com //这里替换成你的域名
保存退出 - 修改.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>
保存退出 - 检查服务器是否已经关闭了windows自带的IIS服务器(因为可能会占用apache的80端口),检查是否关闭了系统防火墙,检查是否有其他程序占用了80或者443端口。确认都已经关闭后进行下一步 (这里给大家贴一个端口扫描工具用于检查:http://tool.chinaz.com/port/)
- 重启apache
- 启动浏览器检查是否可以访问localhost 及你的域名,并且域名头部标志为https。如果不能正常访问,请根据以上步骤重新检查。
- SSL配置成功,能够使用https访问你的域名了!
转载注明出处,谢谢!
有任何问题可以留言,我会尽力帮助大家的。
阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)的更多相关文章
- 阿里云域名ssl证书导入aws负载均衡使用
一 .原因 由于公司战略需求,需要将阿里云的服务器迁移到aws,在迁移过程中,我们需要使用的是aws的负载均衡,可以在EC2的控制台 负载平衡位找到负载均衡.根据业务需求我们使用的是应用程序负载均衡器 ...
- StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全
StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全 一.StartSSL个人证书登录申请 1.StartSSL官网: 1.官方首页:http://www.startssl.com/ 2 ...
- 申请安装阿里云免费SSL证书
微信小程序已经全面要求使用HTTPS服务了,还有苹果商店也是,所以,实现网站HTTPS已经很有必要.要实现HTTPS就需要一个SSL证书,证书大部分都很贵,不过也有一些免费的证书服务供个人开发者使用. ...
- 阿里云申请ssl证书
申请证书(本文以阿里云服务器为背景,申请证书也以阿里云域名申请证书来作为实例) (1)登陆阿里云服务器,初次配置的用户,不建议直接搜索‘ssl证书’进行购买,因为这样购买后证书与域名对应的引导性并不强 ...
- 阿里云配置ssl证书服务遇到的几个问题和解决方法
系统环境: 系统:阿里云ECS CentOS6.5+Apache2.4.10 前提:公司需要将站点升级到使用SSL证书服务(https) 实践执行:在阿里云的证书服务--选择了一个免费的证书服务,毕竟 ...
- 在阿里云购买SSL证书,让网站支持HTTPS
SSL简介 引自:https://baike.baidu.com/item/ssl/320778?fr=aladdin SSL SSL(Secure Sockets Layer 安全套接层),及其继任 ...
- 阿里云申请ssl证书配置tomcat访问https
首先去阿里云上面申请ssl证书,免费的,自己百度去. 申请完ok之后会让你下载一个压缩包,里面有四个文件. 在tomcat安装目录下创建cert文件夹,把这四个文件扔进去 在conf/server.x ...
- 如何申请阿里云免费SSL证书(可用于https网站)并下载下来
前提条件:你要有阿里云的账号,并且要有一个域名. 注意:阿里云系统也在不断更新,界面以后可能会有稍许变化,但是原理是相通的. 具体步骤: 1.登录到阿里云后台,并选择 “SSL证书(应用安全)” 菜单 ...
- 阿里云-免费SSL证书申请及验证步骤
1.登录阿里云管理控制台,在搜索栏输入ssl,选择第一个SSL证书控制台回车即可 2.点击右上角的购买证书 3.选择购买最后一个品牌 4.选择增强型OV SSL 5.选中后会自动弹出免费型DV SSL ...
随机推荐
- JedisCluster
字符串 setex(key, seconds, value):带过期时间 mset(keysvalues.....):批量操作,是一个原子性(atomic)操作,所有给定key会在同一时间内被设置 h ...
- gradle记录
set-env.bat set "JAVA_HOME=G:\jdk" set "CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\ ...
- 必须要学会webpack打包,并到特别精通的程度
必须要学会webpack打包,并到特别精通的程度
- 【MySQL】CentOS下安装及搭建主从复制
CentOS下安装MySQL 1,wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2,rpm -ivh m ...
- 广联达 BIM5D 云平台---《建筑信息模型标准》解读
广联达 BIM5D 云平台: 1.用户管理: https://account.glodon.com/info 2.模型使用: http://bim5d-hunan.glodon.com/api/v ...
- MySQL全备+binlog恢复方法之伪装master【原创】
利用mysql全备 +binlog server恢复方法之伪装master 单实例试验 一.试验环境 10.72.7.40 实例 mysql3306为要恢复的对象,mysql3306的全备+binlo ...
- Flask请求流程超清大图
补充一下 request是在哪里产生的: class RequestContext(object): # app就是flask对象 self.app = app if request is None: ...
- 【转】Linux下gcc生成和使用静态库和动态库详解
一.基本概念 1.1 什么是库 在Windows平台和Linux平台下都大量存在着库. 本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不 ...
- python操作三大主流数据库(9)python操作mongodb数据库③mongodb odm模型mongoengine的使用
python操作mongodb数据库③mongodb odm模型mongoengine的使用 文档:http://mongoengine-odm.readthedocs.io/guide/ 安装pip ...
- HBase基础架构及原理
1. HBase框架简单介绍 HBase是一个分布式的.面向列的开源数据库,它不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式.HBas ...