服务器环境使用的是nginx,其实用其他服务器也都是一样的,配置可以直接百度或者google,也可以直接到服务器官网直接查文档。本文主要讲如何申请免费证书,内容门槛低,老司机可以绕路了。
获取证书
本文主要参考下面两篇文章
参考上面的教程,这里我也用的是沃通
1 注册账号 https://login.wosign.com/reg.html
2 申请免费证书 https://buy.wosign.com/free/FreeSSL.html
这个申请的操作也很简单,按照网站的提示一步一步操作下来就好了
申请通过以后,到我的订单里找到一条刚刚申请的数据,后面有个取走证书的连接,点击下载证书
注:申请过程中有个步骤是设置文件密码的操作,其实就是设置个压缩包密码,这个随便写,不过为了以后能方便使用,最好也记住一下
到此我们的免费证书就拿到手了!
Nginx配置Https
一、先通过命令查看下Nginx是否安装了SSL模块
1
nginx -V
这里注意是大写的V,界面显示有 --with-http_ssl_module
说明已经安装了,如果没有先安装该模块,这里不作演示了
然后把申请的证书解压出来,有两个文件 XXXX.key
和 XXXX.crt
,把两个文件上传到服务器上,推荐放在nginx下的ssl目录
二、修改Nginx配置
1
server {
2
listen 80;
3
#新增监听443端口,并指定443为ssl:
4
listen 443 ssl;
5
server_name yourdomain.com;
6
#新增ssl配置---开始:
7
ssl_certificate /usr/local/nginx/ssl/yourdomain_bundle.crt; #证书公钥文件路径
8
ssl_certificate_key /usr/local/nginx/ssl/yourdomain.key; #证书私钥文件路径
9
ssl_session_timeout 5m; #5分钟session会话保持
10
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
11
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
12
#新增ssl配置---结束:
13
location / {
14
#其他规则保持不变
15
}
16
}
测试下配置
1
nginx -t
如下显示则为正确无误:
1
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
2
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
确认无误之后,执行如下命令重载nginx,让配置生效:
1
nginx -s reload
现在访问http或者https都能正常访问你的网站了。
如果你不想使用http而只用https可以按照下面配置
1
server {
2
listen 80;
3
server_name yourdomain.com;
4
root /path/for/yourdomain.com;
5
location / {
6
rewrite (.*) https://yourdomain.com$1 permanent;
7
}
8
}
9
10
server {
11
listen 443 ssl;
12
server_name yourdomain.com;
13
#新增ssl配置---开始:
14
ssl_certificate /usr/local/nginx/ssl/yourdomain.com.crt; #证书公钥文件路径
15
ssl_certificate_key /usr/local/nginx/ssl/yourdomain.com.key; #证书私钥文件路径
16
ssl_session_timeout 5m; #5分钟session会话保持
17
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
18
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
19
#新增ssl配置---结束:
20
location / {
21
#其他规则保持不变
22
}
23
}
如果想一部分连接使用https一部分连接使用http,请参考开头引用的那篇文章!