洛阳网站制作公司,关于政务网站建设工作情况的总结,网站开发人员是干什么的,注册商标怎么注册商标本文将全面介绍如何在Nginx或Tengine服务器配置SSL证书#xff0c;具体包括下载和上传证书文件#xff0c;在Nginx上配置证书文件、证书链和证书密钥等参数#xff0c;以及安装证书后结果的验证。成功配置SSL证书后#xff0c;您将能够通过HTTPS加密通道安全访问Nginx服务器…本文将全面介绍如何在Nginx或Tengine服务器配置SSL证书具体包括下载和上传证书文件在Nginx上配置证书文件、证书链和证书密钥等参数以及安装证书后结果的验证。成功配置SSL证书后您将能够通过HTTPS加密通道安全访问Nginx服务器。 本文以CentOS 8.0 64位操作系统、Nginx 1.14.2为例介绍。不同版本的操作系统或Web服务器部署操作会有所差异。 前提条件 已通过数字证书管理服务控制台签发证书。 SSL证书绑定的域名已完成DNS解析即您的域名已正确映射到主机IP地址。您可以通过控制台常用证书工具中的DNS生效验证检测域名DNS解析是否生效。 已在Web服务器开放443端口HTTPS通信的标准端口。 请确保在防火墙或安全组中开启TCP 443端口。 如果待部署SSL证书的网站计划部署在中国内地则您需要按照工信部的相关要求完成ICP备案否则将影响网站的正常访问。
步骤一下载SSL证书以阿里云为例 登录数字证书管理服务控制台。 在左侧导航栏选择证书管理 SSL证书管理。 在SSL证书管理页面定位到目标证书在操作列单击更多然后选择下载页签。 在服务器类型为Nginx的操作列单击下载。 解压缩已下载的SSL证书压缩包。 根据您在提交证书申请时选择的CSR生成方式解压缩获得的文件不同具体如下表所示。 CSR生成方式 证书压缩包包含的文件 系统生成或选择已有的CSR 证书文件PEM格式Nginx支持安装PEM格式的文件PEM格式的证书文件是采用Base64编码的文本文件且包含完整证书链。解压后该文件以证书ID_证书绑定域名命名。 私钥文件KEY格式默认以证书绑定域名命名。 手动填写 如果您填写的是通过数字证书管理服务控制台创建的CSR下载后包含的证书文件与系统生成的一致。 如果您填写的不是通过数字证书管理服务控制台创建的CSR下载后只包括证书文件PEM格式不包含证书密码或私钥文件。您可以通过证书工具将证书文件和您持有的证书密码或私钥文件转换成所需格式。
步骤二在Nginx服务器安装证书
1. 执行以下命令在Nginx的conf目录下创建一个用于存放证书的目录。
cd /usr/local/nginx/conf #进入Nginx默认配置文件目录。该目录为手动编译安装Nginx时的默认目录如果您修改过默认安装目录或使用其他方式安装请根据实际配置调整。
mkdir cert #创建证书目录命名为cert。
2. 将证书文件和私钥文件上传到Nginx服务器的证书目录/usr/local/nginx/conf/cert。
您可以使用远程登录工具附带的本地文件上传功能上传文件。例如PuTTY、Xshell或WinSCP等。
3. 编辑Nginx配置文件nginx.conf修改与证书相关的配置。
a. 执行以下命令打开配置文件。
vim /usr/local/nginx/conf/nginx.conf nginx.conf默认保存在/usr/local/nginx/conf目录下。如果您修改过nginx.conf的位置可以执行nginx -t查看nginx的配置文件路径并将/usr/local/nginx/conf/nginx.conf进行替换。 b. 在nginx.conf中定位到HTTPS server属性配置。 如果确定nginx.conf或include指令所引用的文件不存在上图server块请您自行手动进行添加。
c. 删除行首注释符号#并参考如下示例进行修改。
server {#HTTPS的默认访问端口443。#如果未在此处配置HTTPS的默认访问端口可能会造成Nginx无法启动。listen 443 ssl;#填写证书绑定的域名server_name YOURDOMAIN;#填写证书文件绝对路径ssl_certificate cert/cert-file-name.pem;#填写证书私钥文件绝对路径ssl_certificate_key cert/cert-file-name.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#自定义设置使用的TLS协议的类型以及加密套件以下为配置示例请您自行评估是否需要配置#TLS协议版本越高HTTPS通信的安全性越高但是相较于低版本TLS协议高版本TLS协议对浏览器的兼容性较差。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示优先使用服务端加密套件。默认开启ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}
} d. 可选设置HTTP请求自动跳转到HTTPS。
如果您希望所有的HTTP访问自动跳转到HTTPS页面可通过rewrite指令重定向到HTTPS。 请在nginx.conf文件中定位到http server的配置代码块新增配置重定向的代码 如果找不到上述代码段可以将以下代码片段放置在nginx.conf文件中server {}代码段后面即设置HTTP请求自动跳转到HTTPS后nginx.conf文件中会存在两个server {}代码段。 server {listen 80;#填写证书绑定的域名server_name YOURDOMAIN;#将所有HTTP请求通过rewrite指令重定向到HTTPS。rewrite ^(.*)$ https://$host$1;location / {index index.html index.htm;}
} 配置效果如下图所示 4. 执行以下命令重启Nginx服务
#进入Nginx服务的可执行目录。
cd /usr/local/nginx/sbin
#重新载入配置文件。
./nginx -s reload 报错the ssl parameter requires ngx_http_ssl_module您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module配置。 报错/cert/3970497_demo.aliyundoc.com.pem:BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(/cert/3970497_demo.aliyundoc.com.pem,r) error:2006D080:BIO routines:BIO_new_file:no such file)您需要去掉证书相对路径最前面的/。例如您需要去掉/cert/cert-file-name.pem最前面的/使用正确的相对路径cert/cert-file-name.pem。 步骤三验证SSL证书是否配置成功
证书安装完成后您可通过访问证书绑定的域名验证该证书是否安装成功。
https://yourdomain.cn #需要将yourdomain.cn替换成证书绑定的域名。
如果网页地址栏出现小锁标志表示证书已经安装成功。