1、安装Nginx
在centos上,直接使用yum安装Nginx
完成安装后,使用nginx命令启动Nginx:
1
2
3
|
ningx
# 或者
systemctl start nginx
|
此时,使用http://ip地址或者域名 可以看到Nginx的测试页面
无法访问,可以尝试重启nginx: ningx -s reload
2、ssl证书部署
可以在阿里云或者腾讯云申请免费证书, 免费期限一年, 更长期限或者其他类型,可能需要购买了。
将申请到的证书,下载到本地(key文件和crt文件)。
将证书上传到服务器/etc/nginx目录:
1
2
|
scp ssl.key root@xx.xx.xx.xx:/usr/nginx
scp pen.crt root@xx.xx.xx.xx:/usr/nginx
|
3、修改nginx配置
Nginx 配置目录在 */etc/nginx/conf.d*,在该目录创建 ssl.conf
/etc/nginx/conf.d/ssl.conf配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
server {
listen 443;
server_name www.example.com; # 改为绑定证书的域名
# ssl 配置
ssl on;
# 证书的地址, 如果证书在/etc/nginx, 则可以只写文件名称
ssl_certificate pem.crt; # 改为自己申请得到的 crt 文件的名称
ssl_certificate_key ssl.key; # 改为自己申请得到的 key 文件的名称
# ssl 相关配置
ssl_session_timeout 5m; # 缓存有效期
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 安全链接可选的安全协议
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #加密算法
ssl_prefer_server_ciphers on; # 使用服务端的首选算法
location / {
root html;
index index.html index.htm;
}
}
|
将http重定向到https
1
2
3
4
5
|
server {
listen 80;
server_name www.example.com; # 改为证书绑定的域名
return 301 https://$server_name$request_uri;
}
|
一次额外的重定向可能会增加数百毫秒访问延迟,这不利于用户体验,并可能最终影响到网站上的业务,此外重定向通常会触发与额外域名建立连接。因为这里是同一个域名的重定向,所以可以使用rewrite避免重定向
使用rewrite避免重定向
1
2
3
4
5
|
server {
listen 80;
server_name www.example.com; # 改为证书绑定的域名
rewrite ^(.*)$ https://$server_name$request_uri;
}
|
4、重启Nginx
验证nginx配置是否正确
1
2
3
|
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
|
重启nginx, 重新加载配置使其生效:
在浏览器通过https访问域名来测试HTTPS是否成功启动