站长资源服务器

nginx配置ssl实现https的方法示例

整理:jimmy2024/12/23浏览2
简介环境说明服务器系统:Ubuntu 18.04 64位nginx:1.14这篇文章主要是记录配置 https 的步骤,就不介绍申请ca证书的相关细节了这里有免费的 ssl 证书:https://cloud.tencent.com/act/pro/ssl我是西部数码的域名,在腾讯云申请的证书申请

环境说明

服务器系统:Ubuntu  18.04 64位
nginx:1.14

这篇文章主要是记录配置 https 的步骤,就不介绍申请ca证书的相关细节了

这里有免费的 ssl 证书:https://cloud.tencent.com/act/pro/ssl

我是西部数码的域名,在腾讯云申请的证书

申请证书并签发后,把证书先下载到本地

1、安装 nginx

$ apt-get update // 更新软件
$ apt-get install nginx // 安装nginx

2、配置 ca 证书

2.1 nginx 的安装目录为 /etc/nginx/,进入该目录,增加 cert 文件夹,把刚刚下载的两个文件上传到 cert 文件夹里

2.2 在 /etc/nginx/conf.d/ 文件夹下新增一个 blog.conf 的配置文件,名字随意,nginx 会读取 conf.d/ 文件夹里的所有配置文件

2.3 把下面的配置信息复制到 blog.conf 文件里

server {
 listen 443;
 server_name xiaoxina.cc; // 你的域名
 ssl on;
 root /var/lib/jenkins/workspace/blog; // 你的网站源码目录
 index index.html index.htm;
 ssl_certificate /etc/nginx/cert/xiaoxina.cc.crt; // 证书地址
 ssl_certificate_key /etc/nginx/cert/xiaoxina.cc.key; // 证书地址
 ssl_session_timeout 10m;
 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;
 ssl_session_cache builtin:1000 shared:SSL:10m;
 ssl_buffer_size 1400;
 add_header Strict-Transport-Security max-age=15768000;
 ssl_stapling on;
 ssl_stapling_verify on;
 location / {
  index index.html index.htm;
 }
}

server {
 listen 80;
 server_name xiaoxina.cc; // 你的域名
 rewrite ^(.*)$ https://$host$1 permanent;
}

配置完成后,检查一下 nginx 配置文件是否可用,有出现 successful 说明配置是正确的

$ nginx -t

配置正确后,重新加载配置文件使配置生效:

$ service nginx reload