2018年10月28日
导读
基于Ubuntu 24.04LTS系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。
系统环境:Ubuntu 24.04LTS
SSL证书:Comodo Essential SSL(其他品牌SSL证书也适用本教程)
1、在线生成csr文件和key文件
macOS:openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
按照提示输入内容,如输入“.”,改字段留空
Country Name (2 letter code) [AU]: 国家,中国输入CN
State or Province Name (full name) [Some-State]: 州名或省份名称,广东输入Guangdong
Locality Name (eg, city) []: 城市,佛山输入Foshan
Organization Name (eg, company) [Internet Widgits Pty Ltd]: 输入公司英文名称
Organizational Unit Name (eg, section) []: 输入公司部门英文名称,IT部输入IT Dept
Common Name (e.g. server FQDN or YOUR name) []: 申请SSL证书域名,如www.domain.com
Email Address []: 电子邮箱,如hzzzoo@126.com
其他内容建议留空,输入“.”
运行成功后,你会获得domain.csr和domain.key两个文件
2、购买SSL证书
SSL证书品牌有很多,根据实际情况进行选购,本文购买的是Comodo Essential SSL,购买流程不同品牌都有些不同,但是上面填写的资料必须真实,同时填写的资料必须和生成csr文件填写的资料一致。其中有一处需要填写csr信息,把之前生成csr代码复制粘贴即可。
一般证书颁发机构在收到申请资料后,如果审核资料没有问题,大概在30分钟内会颁发证书,SSL证书会通过邮件形式发送到域名所有者邮箱。邮件的SSL证书一般包含四个证书文件,分别是:
◉domain_com.crt - Your Free TLS Certificate
◉SectigoRSADomainValidationSecureServerCA.crt - Intermediate CA Certificate
◉USERTrustRSAAAACA.crt - Intermediate CA Certificate
◉AAACertificateServices.crt - Root CA Certificate
3、合并SSL证书文件
将邮件中的四个SSL证书文件的内容按下面顺序(必须严格按照此顺序):
◉domain_com.crt - Your Free TLS Certificate
◉SectigoRSADomainValidationSecureServerCA.crt - Intermediate CA Certificate
◉USERTrustRSAAAACA.crt - Intermediate CA Certificate
◉AAACertificateServices.crt - Root CA Certificate
合并成一个文件,改名称为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
2025年02月03日
基于macOS Sequoia 15.2安装Ruby的过程,完美解决macOS内置Ruby旧版本问题,详细列出Ruby安装和Ruby版本查看命令。
2025年01月08日
基于macOS Sequoia 15.2安装Homebrew的过程,详细列出Xcode、xcode-select插件和Homebrew相关软件安装及验证命令。
2020年11月18日
基于Ubuntu 24.04LTS系统的Linode VPS设置,详细列出系统更新及zip、nginx、go、mysql、jekyll等相关软件安装及使用命令。
2020年05月20日
基于Ubuntu 24.04LTS安装Jekyll的过程,详细列出gcc编译包、Ruby、RubyGems以及Jekyll插件等相关软件安装及更新命令。
2019年05月28日
基于Ubuntu 24.04LTS系统介绍apt-get方式安装及升级Nginx的方法,列出所有安装及升级命令及配有文字说明,令用户能简单的掌握。
Nginx安装SSL证书实现https
2018年10月28日
基于Ubuntu 24.04LTS系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。
当前内容
2012年04月18日
在SEO角度上分析Addon Domain和Parked Domain在功能上和本质上的区别,Addon Domain绑定域名会更有利于网站SEO。