过程总述
- 购买服务器,购买域名,备案
- 申请ssl证书
- DNS验证
- 上传证书,配置nginx
- 很关键,打开端口!!!阿里云的443端口默认是不打开的
1.购买服务器,域名,备案
服务器我是买的阿里云的,域名也是在阿里云上买的,注意一点,现在域名必须备案才能用,所以建议先买域名着手备案,等备好案再买服务器。
粘个阿里云推广的连接,点进去有新人红包
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ppef3go2
如果是个人开发使用,服务器不用买太贵的,1M网速2G内存的就够用了。
域名如果不是商用,也不用太好,我就用的.top,cn和com基本没多少好听的域名了。而且还很贵。
2.申请ssl证书
https://freessl.cn/
申请Let's Encrypt的ssl证书
比如我们现在要给example.top申请证书
- 注册个帐号,不注册也行,但是注册了之后,以后证书如果不小心删了,这里还可以在下载。邮箱注册,打开邮件验证,然后回到首页。
- 在首页输入你要的输入的域名,如果你要只用二级域名比如www.example.top,就输这个二级域名就行,或者你要全域名,就输入*.example.top,这样以后所有二级域名就都可以用https服务了。我们这里使用全域名。
- 点击创建,确认。然后会给一个私钥的压缩包,留下来,先不用。然后界面上进入DNS验证的过程。
3. DNS验证
- 首先说说这个东西是干嘛的,我理解的,就是给你发的时候,我得确认你有这个网站的权限,然后能让我认可,我才给你发证,表示我承认这个证保护这个网站。
- 先不要点击验证,如果失败会有十分钟的间隔之后才能再验证,点击
配置完成,检测一下
进入检测界面。检测界面这样,但是数据不全,先不用点,还要用刚才那个界面的数据。
- 打开你的阿里云网站,进入控制台->域名->点击你的域名->然后域名解析。到这个界面就对了。
- 添加dns验证要的信息。点击添加记录,在最开始的freessl的那个页面,就是查询验证之前的那个界面。
- 一共有两个,新建两个记录,对应关系一样,如图。
- 测试一下,应该通过,然后回到freessl那里,点击
点击验证
,通过之后会发给你一个压缩包,里边就是证书啦。
4. 上传证书,配置nginx
- 刚才获得的最后的证书在那个压缩包里,解压是这样的内容,如果丢了,可以去网站再下载一下(如果刚才没有注册登陆,就只能再重新申请一遍)。
- scp复制到服务器上,或者搭建了ftp服务也可以。(不会的自行百度啦,scp还是很简单的)。比如我的吧
scp private.key root@112.125.88.123:/root/
,然后要求输入密码,文件就过去了。把两个文件都传过去。 - 进入服务器。把刚才的两个文件复制到nginx下新建的一个目录下,我的放在
/usr/local/nginx/cert/
下了。 - 贴上我的nginx配置文件。
server {
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/cert/full_chain.pem;
ssl_certificate_key /usr/local/nginx/cert/private.key;
keepalive_timeout 70;
server_name example.top;
root /data/webroot/example;
charset utf-8;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
location / {
index index.php index.html index.htm;
if (-e $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ .+\.php($|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
access_log logs/calendar.yimeidan.access.log;
error_log logs/calendar.yimeidan.error.log;
}
server {
listen 80;
server_name calendar.yimeidan.top;
return 301 https://$server_name$request_uri;
}
5. 一定要记得打开端口!!!
最后的最后,很关键,打开端口!!!打开端口!!!打开端口!!!
阿里云的443端口默认是不打开的,需要如下操作打开端口。(80端口也是需要这么打开的。)
点开你的阿里云控制台,找到你要用的服务器,然后点更多->网络和安全组->安全组配置。
点配置规则,添加安全组规则。添加内容如图。你也可以这样配好80端口。
尾声
理论上完活啦,有问题可以留言交流。
成品截图:
写文不易,如果觉得帮到您了,可以支持下。d=====( ̄▽ ̄*)b。
阿里云新人红包:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ppef3go2
阿里云产品开年活动:https://www.aliyun.com/acts/product-section-2019/new-users?userCode=ppef3go2
阿里云商标注册服务:https://tm.aliyun.com/?userCode=ppef3go2
阿里云服务器配置免费https服务的更多相关文章
-
阿里云申请免费https证书 + IIS服务器安装
参考: 阿里云免费SSL证书申请与安装使用(IIS7)
-
阿里云服务器配置https(总结)
阿里云服务器配置https(总结) 一.总结 一句话总结: 1.下载https证书(可以在阿里云上) 2.在服务器上面开启443端口 3.配置apache服务器,443的加ssl,让80的重定向到44 ...
-
天河微信小程序入门:阿里云tomcat免费配置https
天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我 ...
-
微信小程序开发《一》:阿里云tomcat免费配置https
小狼咕咕最近开启了微信小程序开发的征程,由于微信小程序的前后台通信必须通过https协议,所以小狼咕咕第一件要做的事就是配置一个能够通过https访问的后台服务.小狼咕咕用的是阿里云ECS服务器,Li ...
-
用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...
-
最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...
-
阿里云申请免费SSL证书,并配置到Tomcat,实现https访问
第一步:阿里云免费https证书安装 https://jingyan.baidu.com/article/fdffd1f8619481f3e98ca196.html 第二步:阿里云申请免费SSL证书 ...
-
关于阿里云Symantec免费DV证书部署HTTPS
获取阿里云Symantec免费DV证书: 官方文件说明: 证书文件214188487290026.pem,包含两段内容,请不要删除任何一段内容. 如果是证书系统创建的CSR,还包含:证书私钥文件214 ...
-
利用阿里云服务器免费体验word press博客、个人网站
本文首发于我的个人博客:https://chens.life/create-wordpress-blog.html 前言 目前市面上有许许多多的虚拟云服务器ECS,例如阿里云.华为云.又拍云等等,他们 ...
随机推荐
-
UITextField-secureTextEntry
1.UITextFiled的密文输入 secureTextEntry 安全文本输入 secure:安全 Entry:入口
-
TreeSet和TreeMap的输出
如果加入TreeSet和TreeMap的元素没有实现comprable中的compareTo()方法,那么会报错"treeset cannot be cast to java.lang.Co ...
-
mysql中char与varchar的区别
在建立数据库表结构的时候,为了给一个String类型的数据定义一个数据库的数据库类型,一般参考的都是char或者varchar,这两种选择有时候让人很纠结,今天想总结一下它们两者的区别,明确一下选择塔 ...
-
iOS9适配+warning消除
最近做了iOS 9的适配,程序出现大量警告也做了些处理,写出来分先给大家. 一.iOS 9适配 问题一: <Error>: CGContextSaveGState: invalid con ...
-
Android Widget 小部件(四---完结) 使用ListView、GridView、StackView、ViewFlipper展示Widget
官方有话这样说: A RemoteViews object (and, consequently, an App Widget) can support the following layout cl ...
-
PeopleSoft translate value 排序
这个function 可以对record.field 的dropdownlist 排序,也可以把描述前边加个数字.但是有时候用户不接受.所以调用这个方法是比较好的选择. Function Order_ ...
-
Luogu3804 【模板】后缀自动机(后缀自动机)
建出parent树统计即可.开始memcpy处写的是sizeof(son[y]),然后就T掉了……还是少用这种东西吧. 同时也有SA做法.答案子串一定是名次数组中相邻两个串的lcp.单调栈统计其是几个 ...
-
php后台管理员权限相关表结构
admin管理员表 id int(11) 用户id username varchar(128) 用户名 password varchar(128) 管理员密码 name varchar(50) 管理员 ...
-
Python基础入门(模块和包)
1 模块 1.1 什么是模块 在 Python 中,一个 .py 文件就称之为一个模块(Module). 我们学习过函数,知道函数是实现一项或多项功能的一段程序 .其实模块就是函数功能的扩展.为什么这 ...
-
BZOJ4735 你的生命已如风中残烛 【数学】
题目链接 BZOJ4735 题解 给定一个序列,有的位置为\(w_i - 1\),有的位置为\(-1\),问有多少种排列,使得任意前缀和非负? 我们末尾加上一个\(-1\),就是要保证除了末尾外的前缀 ...