安装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日 ,已超过366天没有更新,若内容或图片失效,请留言反馈。
本文允许转载,但请在转载时请以超链接或其它形式标明文章出处
@Doug Shume it's ok for me , you can post here.
Saved as a favorite, I like your website!
If some one wishes to be updated with hottest technologies after that he must be visit this site and be up to date daily.
Heello would you mind sharing which blog platform you're using? I'm planning to start my own blog in the near future but I'm having a tough time making a decision between BlogEngine/Wordpress/B2evolution and Drupal. The reason I ask is because your layout seems different then moost blogs and I'm looking for something completely unique. P.S Apologies forr being off-topic butt I had to ask!
Thanks to my father who shared with me regarding this webpage, this website is genuinely amazing.
Hi, I have an overflow of customers that I'd like to send to you but I want to make sure you can handle more leads, let me know if you'd like me to send you more info.
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 怎么办啊