安装ssl证书,主要分几步。
第一步,购买证书
第二步,在centos中的openssl里申请csr
第三步,到购买证书的地方,使用csr申请证书,并验证,取得证书文件。
第四步,下载得到的证书文件,整合,做好相对应文件。
第五步,第五步,配置nginx,重启nginx,证书生效。
具体情况详解:
第一步,购买证书
本次教程实践使用的证书是sectigo的Comodo SSL证书,这种证书特点就是单域名的证书价格最便宜,一般在100元以下可以买到。注意,证书没必要买多年,因为最长使用时间是398天,超过时间后还需要重新发行并安装,所以可以按年购买即可。
购买证书后,要申请发行证书,前提条件是需要一个csr文件。这个过程,我们进入centos服务器。
第二步,在centos中的openssl里申请csr
生成 CSR(证书签名请求)是为了申请 SSL 证书,以下是在 CentOS 服务器上生成 CSR 的一般步骤:
1.登录到服务器: 使用 SSH 或其他远程登录方式登录到你的 CentOS 服务器。
2.安装 OpenSSL(如果没安装 输入命令openssl version可以查看有没有安装ssl证书,如果安装了会有显示):如果没安装, 在终端中执行以下命令安装 OpenSSL:
sudo yum install openssl
或者
yum install openssl
3.创建私钥: 使用 OpenSSL 创建一个私钥文件。在终端中执行以下命令:
openssl genrsa -out yourdomain.key 2048
将 "yourdomain.key" 替换为你的域名。这时候将生成一个 2048 位的 RSA 私钥文件。
4.生成 CSR: 使用刚刚生成的私钥文件创建 CSR。执行以下命令:
openssl req -new -key yourdomain.key -out yourdomain.csr
5.在执行此命令时,会要求你输入一些信息,如国家、省份、城市、组织名称、组织单位名称、域名等。请确保提供准确的信息,特别是域名这个字段,一定要填写准确的域名,如果是xxx.com就直接填写,如果是123.xxx.com 那就填写全的域名,别弄错或者弄少了。 这个是后面申请证书特别重要的文件,域名不对无法继续。
另外就是还需要输入一个密码,也记录一下以防万一。
6.完成后,将生成一个 CSR 文件(以 .csr 扩展名结尾)。
7.备份私钥和 CSR: 请确保对生成的私钥文件(yourdomain.key)和 CSR 文件(yourdomain.csr)进行备份。这些文件将用于申请 SSL 证书。
PS:csr文件仅用户申请证书第一步,过后就可以删掉了。key文件在后面的nginx配置阶段还需要。
第三步,到购买证书的地方,使用csr申请证书,并验证,取得证书文件。
现在,你已经生成了一个 CSR 文件,可以将其提供给 SSL 证书颁发机构(CA)以申请 SSL 证书。一般这个过程会检查你生成的csr文件是否正确,如果不正确还需要重新上面步骤的操作。一般错误都在域名那块。
如果正确,会要求你验证域名或者域名的管理员邮箱,这个自己操作即可。
验证后,等待10分钟左右,证书机构会给你发邮件,并附上证书文件,一般是四个文件。
第四步,下载得到的证书文件,整合后,配置到服务器的nginx特定网站的conf中。
这一步比较麻烦,如果错了证书就无法生效。注意严格按照下面的步骤操作。
一般证书到手有四个文件。
1根证书文件Root CA Certificate - AAACertificateServices.crt
2中间证书文件Intermediate CA Certificate - USERTrustRSAAAACA.crt
3中间证书文件Intermediate CA Certificate - SectigoRSADomainValidationSecureServerCA.crt
4域名证书文件Your PositiveSSL Certificate - xxx_com.crt
请注意,
按照 域名证书 + 中间证书 + 中间证书 + 根证书 的顺序将刚才得到的四个文件按顺序放到一个文件中 后缀名crt,比如all_xxx_com.crt。
也就是上述文件中的4-2-3-1的顺序整合成一个文件。
从上到下以此复制粘贴即可。
注意:apache不要加入域名证书xxx_com.crt,单独一个文件即可,只有nginx才需要全部整合在一起
整合到一起以后,上面在生成csr时候使用的key文件就有用了。
这里说明一下,nginx需要两个文件,之前生成的youdomain.key和这里整合到一起的all_xxx_com.crt,这两个文件稍后需要配置到nginx指定域名的conf文件中。
如果你使用的是apache,那么需要三个文件, 1 youdomain.key ,2 证书文件xxx_com.crt ,3 整合到一起的除了xxx_com.crt的all_xxx_com.crt。
第五步,配置nginx,重启nginx,证书生效。
下面开始配置nginx:
找到你的nginx配置文件中你域名所在的conf文件,一般是 /usr/local/nginx/host/xxx_com.conf .
不同的服务器不一样,有的用lnmp的,有的单独安装的,请自行查找相关目录。
修改 Nginx 配置文件以使用合并后的证书文件。在你的 Nginx 配置中,指定 SSL 证书和私钥文件的路径,并使用合并后的证书文件。示例配置如下:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/all_xxx_com.crt;
ssl_certificate_key /path/to/youdomain.key;
# 其他 SSL 配置...
}
然后重启nginx,如下:
sudo systemctl restart nginx
或者
systemctl restart nginx
如果使用lnmp使用
lnmp restart nginx
这样,你已经将 SSL 证书和证书链配置到了 Nginx 中。确保证书链中的证书顺序正确,私钥文件的权限设置正确,并且在 Nginx 配置中指定了正确的文件路径。完成这些步骤后,你的 Nginx 将使用合并后的证书文件来启用 HTTPS 加密连接了。
如果是apache参考下面的代码:
<VirtualHost *:443>
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/xxx_com.crt
SSLCertificateKeyFile /path/to/youdomain.key
SSLCertificateChainFile /path/to/all_xxx_com.crt
# 其他 SSL 相关配置...
</VirtualHost>
然后重启apache即可(systemctl restart httpd)。
其他说明:
在最开始申请证书之前的两个文件说明:
yourdomain.csr 是证书签名请求文件,用于申请 SSL 证书。一旦证书签发并安装完成后,通常不再需要这个文件。它是用于向证书颁发机构(CA)申请证书时生成的,不应该包含在实际的 SSL 配置中。用完删掉即可。
yourdomain.key 是私钥文件,它是与 SSL 证书配对使用的私钥。私钥用于加密和解密数据,对于 SSL 连接的安全性至关重要。你需要保留这个私钥文件,并在 SSL 配置中指定它,这样才能确保 SSL 证书的正确工作。
至此SSL证书在nginx下安装完成,apache的也可以参考。
版权属于: 三三世界-百宝箱
本文链接: http://33f.net/setup/nginx_install_ssl.html
本文最后更新于2023年12月20日 ,已超过838天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
zh.us.to 有效
kms.03k.org 有效
kms.chinancce.com
kms.shuax.com 有效
kms.dwhd.org 有效
kms.luody.info 有效
kms.digiboy.ir 有效
kms.lotro.cc 有效
www.zgbs.cc 有效
cy2617.jios.org 有效
@ 权限问题,试试sudo 再加命令。
你好提示Permission denied 怎么办啊