Nginx 配置SSL证书

本文将介绍如何在 Nginx 中配置 SSL 证书,实现 HTTPS 访问。

一、什么是 HTTPS ?

HTTPS 是更安全的 HTTP,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。

二、什么是 SSL 证书?

SSL 证书具有服务器身份验证和数据传输加密功能,基于 SSL 证书,可以将站点由 HTTP 升级至 HTTPS。

三、环境介绍

  • Centos 7.6
  • Nginx

四、前置工作

  • 申请 SSL 证书
  • 购买服务器,确保开启 443 端口
  • 安装 Nginx

五、具体操作

1. 下载并上传证书

  • 下载证书
  • 将证书上传至服务器

2. 配置 Nginx

Nginx 的默认配置文件为 /etc/nginx/nginx.conf,修改如下:

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
root 网址路径;

ssl_certificate ···/域名_bundle.crt;
ssl_certificate_key ···/域名.key;
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;
}

六、自动跳转至 HTTPS

当用户访问 HTTP 的网页时,强制重定向到 HTTPS 网页,即可实现自动跳转至 HTTPS 的效果。

在 Nginx 的配置文件中,修改监听 80 端口的 Server,修改如下:

1
2
3
4
5
6
7
server {
listen 80;
listen [::]:80;
server_name 域名;

return 301 域名;
}

参考