如何在linux下安装ssl证书?

如何在linux下安装ssl证书?,第1张

windows系统下的教程如下所示:

SSL部署前特别说明

1. 陕西CA SSL服务器证书部署指南(以下简称“本部署指南”)主要描述如何通过第三方系统产生密钥对和如何将SSL服务器证书部署到Apache服务器

2. 本部署指南适用于linux、windows系统下Apache 2.X版本;

获取服务器SSL证书

  获取SSL证书

在您完成申请SNCA服务器证书的流程后,SNCA将会在返回给您的邮件中附上根证书issuer.crt和相应的CA证书。CA证书就是文件就是youdomain.crt和私钥文件youdomain.key,请确认所收到的证书文件是您需要的CA证书。

安装服务器SSL证书

1、打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,

找到 #LoadModule ssl_module modules/mod_ssl.so

(如果找不到请确认是否编译过 openssl 插件)

#Include conf/extra/httpd_ssl.conf 删除行首的配置语句注释符号“#” 保存退出。

2、打开 apache 安装目录下 conf/extra 目录中的 httpd-ssl.conf 文件

a.打开Apache2.2/conf/extra/目录下的httpd-ssl.conf文件,将

”ServerName www.example.com:443”改成您的主机域名,

DocumentRoot指定网页文件路径

(此处的配置和http的80端口配置文件保持一致 )

b.添加SSL协议支持语句,关闭不安全的协议和加密套件

SSLProtocol all -SSLv2 -SSLv3

c.修改加密套件如下

SSLCipherSuite

ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!3DES:!MD5:!ADH:!RC4:!DH:!DHE

d.找到如下三个选项SSLCertificateFile、SSLCertificateKeyFile和SSLCertificateChainFile这三个配置项,将youdomain.crt和youdomain.key 及证书链

issuer.crt文件上传到该目录(这里是/usr/local/apache/conf/sslcert,windows路径自己指定)下:

完整的配置文件如下:

保存退出,并重启Apache,

访问测试

服务器若部署了SSL证书,浏览器访问时将出现安全锁标志;

SSL备份和恢复

在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便:

  备份服务器证书

备份服务器证书私钥文youdomain.key,服务器证书文件youdomain.crt。

2.恢复服务器证书

参照步骤“三、安装服务器证书”即可完成恢复 *** 作。

证书遗失处理

若您的证书文件损坏或者丢失且没有证书的备份文件,请联系SNCA办理遗失补办业务,重新签发服务器证书。

编辑Apache根目录下 conf/httpd.conf 文件

找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#号注释

编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件,修改如下内容:

配置完成后,重新启动 Apache 就可以使用https://www.domain.com来访问了

配置文件参数说明

将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。

更新Nginx根目录下 conf/nginx.conf 文件如下:

配置完成后,先用bin/nginx –t来测试下配置是否有误,正确无误的话,重启nginx。

配置文件说明

使用全站加密,http自动跳转https(可选)

对于用户不知道网站可以进行https访问的情况下,让服务器自动把http的请求重定向到https。

在服务器这边的话配置的话,可以在页面里加js脚本,也可以在后端程序里写重定向,当然也可以在web服务器来实现跳转。Nginx是支持rewrite的(只要在编译的时候没有去掉pcre)

在http的server里增加rewrite ^(.*) https://$host$1 permanent

这样就可以实现80进来的请求,重定向为https了。

我们首先要设置 openssl 的全局配置文件

在debian下他的配置文件在 /usr/lib/ssl/openssl.cnf

需要修改的内容:

具体怎么改可以自己决定

在CA目录下创建两个初始文件:

为了安全起见,修改cakey.pem私钥文件权限为600或400,也可以使用子shell生成( umask 077openssl genrsa -out private/cakey.pem 2048 ),下面不再重复。

使用req命令生成自签证书:

然后会有提示,之后再出现也是这样填,不再重复

以上都是在CA服务器上做的 *** 作,而且只需进行一次,现在转到nginx服务器上执行:

这里测试的时候CA中心与要申请证书的服务器是同一个。

另外在极少数情况下,上面的命令生成的证书不能识别,试试下面的命令:

上面签发过程其实默认使用了-cert cacert.pem -keyfile cakey.pem,这两个文件就是前两步生成的位于/etc/pki/CA下的根密钥和根证书。将生成的crt证书发回nginx服务器使用。

到此我们已经拥有了建立ssl安全连接所需要的所有文件,并且服务器的crt和key都位于配置的目录下,剩下的是如何使用证书的问题。

因为这是个人生成的证书,浏览器第一次可能会报错,只要添加信任之后就可以正常使用了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7095058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存