首页 / 网站安全技术 / Nginx安装SSL证书实现https

Nginx安装SSL证书实现https

基于Ubuntu 18.10系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。

系统环境:Ubuntu 18.10

SSL证书:Comodo Essential SSL(其他品牌SSL证书也适用本教程)

1、在线生成csr文件和key文件(点击进入在线生成工具)

注意以下3点:

a. 根据在线生成工具填写资料,企业名称或者姓名请使用英文填写或者汉语拼音,绝对不能使用中文,资料请务必填写真实性,虚假资料可能会导致证书颁发机构拒绝颁发证书。

b. 密钥算法选择RSA,直接点击生成按钮。

c. 高级设置全部留空不填。

点击生成按钮后,你会获得csr代码和key代码,把代码通过文本编辑分别保存为domain.csr和domain.key两个文件

2、购买SSL证书

SSL证书品牌有很多,根据实际情况进行选购,本文购买的是Comodo Essential SSL,购买流程不同品牌都有些不同,但是上面填写的资料必须真实,同时填写的资料必须和生成csr文件填写的资料一致。其中有一处需要填写csr信息,把之前生成csr代码复制粘贴即可。

一般证书颁发机构在收到申请资料后,如果审核资料没有问题,大概在30分钟内会颁发证书,SSL证书会通过邮件形式发送到域名所有者邮箱。邮件的SSL证书一般包含domain_com.crt、COMODORSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt以及AddTrustExternalCARoot.crt这四个证书文件

3、合并SSL证书文件

将邮件中的四个SSL证书文件domain_com.crt、SectigoRSADomainValidationSecureServerCA.crt、USERTrustRSAAddTrustCA.crt、AddTrustExternalCARoot.crt的内容按顺序(必须严格按照此顺序)合并成一个文件,改名称为domain.crt

4、SSL证书上传服务器

将第一步的domain.key文件和第三步合并后SSL证书domain.crt文件上传到服务器nginx目录。

5、配置Nginx安装SSL证书

Nginx配置代码如下:

server {
listen 443 ssl http2;
server_name www.domain.com;
ssl_certificate domain.crt;
ssl_certificate_key domain.key;
index index.html;
root /srv/website;
error_page 404 /Error.html;
add_header Strict-Transport-Security "max-age=15768000" always;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5:!DH;
}
server {
listen 443 ssl http2;
server_name domain.com;
ssl_certificate domain.crt;
ssl_certificate_key domain.key;
return 301 https://www.domain.com$request_uri;
}
server {
listen 80;
server_name domain.com www.domain.com;
return 301 https://www.domain.com$request_uri;
}

上面代码不仅能正确配置Nginx和安装SSL证书,同时将http中www版本和无www版本以及https无www版本自动301跳转到https中www版本,更利于搜索引擎优化(SEO)。

6、重启Nginx服务

重启Nginx服务,使配置生效。

Nginx安装SSL证书实现https

2018年10月28日
网站安全技术

基于Ubuntu 18.10系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。

阅读全文

指定浏览器访问代码

2018年02月18日
网站安全技术

在实际的云端程序或者SaaS软件开发中,为了提供安全性或者隐私性,一般用js来获取当前浏览器的相关信息,通过userAgent来限制浏览器访问。

阅读全文

Nginx加密网站目录

2017年06月12日
网站安全技术

通过Nginx添加特定的代码,对特定的网站目录进行加密,从而使有账号密码的特定用户才能访问改网站目录,防止机密数据泄露,造成不必要的损失。

阅读全文