首先安装nginx
Nginx 的 SSL 模块安装
1、查看 nginx是否安装 http_ssl_module 模块
nginx -V
如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 SSL 证书部署、nginx.conf 配置)。
否则按下述执行命令。
2、进入nginx源码包,重新执行下面命令,重新编译安装三部曲
./configure --with-http_ssl_module
make
make install
3、上述命令执行完以后,继续执行nginx -V
nginx SSL模块安装成功!
SSL 证书部署
1、首先需要购买一个域名,可以直接去阿里云购买,购买完后域名备案(域名购买备案自行百度)。
我直接使用我之前购买备案过的域名,域名解析,点击解析按钮。
进入界面,点击添加记录。
配置解析记录:
这里配置泛解析域名,主机记录填*
,保证后缀为.likelong.icu
的域名都能访问到配置的主机IP,比如www.likelong.icu、xxo.likelong.icu等。
域名解析完成!
2、申请阿里云的免费SSL证书,期限为1年
进入阿里云控制台,搜索SSL,点击下面应用。
填写信息,购买免费证书。
购买完后,证书申请。
填写验证信息,绑定我们刚解析的域名www.likelong.icu
。
点击验证。
证书签发后,点击下载。
选择nginx下载。
下载zip包里有两个文件,下面nginx配置需要用到。
直接将上述两个文件上传至nginx中conf文件夹如下。
nginx证书配置
nginx.conf添加如下配置:
server {
listen 443 ssl;
server_name localhost; # 接收所有访问443端口的请求
ssl_certificate 8355107_www.likelong.icu.pem;
ssl_certificate_key 8355107_www.likelong.icu.key;
}
修改完后,重启nginx。nginx -s reload
访问我们之前配置的域名www.likelong.icu
,可以看到现在它是不安全的。
访问安全的域名https://www.likelong.icu
,可以看到现在就是安全的。
至此nginx https配置完成!
由于http协议默认的端口是80,而https默认的端口是443,如果想让http的访问跳转到https的访问,可以做如下配置:
server {
listen 80;
server_name www.likelong.icu likelong.icu; # 换成自己的域名
# 重定向,会显示跳转的地址server_name,如果访问的地址没有匹配会默认使用第一个,即www.likeong.icu
return 301 https://$server_name$request_uri;
}
配置如下:
server {
listen 443 ssl;
server_name localhost; # 接收所有访问443端口的请求
ssl_certificate 8355107_www.likelong.icu.pem;
ssl_certificate_key 8355107_www.likelong.icu.key;
# 配置根目录以及默认页面
location / {
root html;
index index.html index.htm;
}
# 配置默认错误页面
error_page 500 502 503 504 /50x.html;
# /50x.html文件所在位置
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.likelong.icu likelong.icu; # 换成自己的域名
# 重定向,会显示跳转的地址server_name,如果访问的地址没有匹配会默认使用第一个,即www.likeong.icu
return 301 https://$server_name$request_uri;
}
配置修改后,重启nginx。
直接访问www.likelong.icu,会跳转至安全访问地址。
至此,此篇结束!