Nginx安装SSL证书实现https

2018年10月28日

导读

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

系统环境:Ubuntu 22.04LTS

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

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

注意以下3点:

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

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

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

点击生成按钮后,你会获得csr代码和key代码,把代码通过文本编辑分别保存为domain.csrdomain.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=31536000" always;
add_header Cache-Control "max-age=31536000";
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服务,使配置生效

service nginx restart

关键词:服务器配置

作者:Zack Wong

服务器资源防盗链

2022年07月30日

通过Nginx或者Apache相关代码可以有效防止服务器资源(如图片)被盗链,减少服务器资源的流量浪费,让服务器运行更高效快速。

阅读全文

Ubuntu安装Mysql及基本操作

2021年01月17日

基于Ubuntu 20.10系统,详细介绍安装Mysql的过程及相关命令,并详细列出一些基本Mysql操作命令。

阅读全文

Ubuntu服务器配置(Linode)

2020年11月18日

基于Ubuntu 22.04LTS系统的Linode VPS设置,详细列出系统更新及zip、nginx、go、mysql、jekyll等相关软件安装及使用命令。

阅读全文

Ubuntu安装及更新Jekyll教程

2020年05月20日

基于Ubuntu 22.04LTS安装Jekyll的过程,详细列出gcc编译包、Ruby、RubyGems以及Jekyll插件等相关软件安装及更新命令。

阅读全文

obj格式转glb格式

2020年05月20日

将obj格式转换成glb格式可以借助开源工具obj2gltf,本教程以Ubuntu 22.04LTS为例,详细介绍整个转换过程。

阅读全文

Ubuntu安装Go

2019年09月18日

基于Ubuntu 22.04LTS系统介绍apt-get方式安装及编译方式安装Go最新版的方法,详细解析编译安装的方法,令用户能简单的掌握。

阅读全文

Github私有仓库克隆到服务器

2019年08月15日

通过Git SSH Key生成,分别把对应密钥安装在服务器和Github,这样就可以实现Github私有仓库克隆到自己的服务器。

阅读全文

Ubuntu安装及升级Nginx

2019年05月28日

基于Ubuntu 22.04LTS系统介绍apt-get方式安装及升级Nginx的方法,列出所有安装及升级命令及配有文字说明,令用户能简单的掌握。

阅读全文

Nginx安装SSL证书实现https

Nginx安装SSL证书实现https

2018年10月28日

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

当前内容

指定浏览器访问代码

2018年02月18日

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

阅读全文

Nginx加密网站目录

2017年06月12日

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

阅读全文

Bluehost域名绑定方法的区别

2012年04月18日

在SEO角度上分析Addon Domain和Parked Domain在功能上和本质上的区别,Addon Domain绑定域名会更有利于网站SEO。

阅读全文