centos阿里服务器ssl证书认证

#随便转载无需在意我的感受#
需求:服务器需要ssl证书认证
工具阿里服务器 &freessl.cn证书
方法两种:1.配置nginx文件2.配置apache的httpd文件

说明一:

因为我在阿里服务器里面没有找到免费的ssl证书,所以我在这里(freessl.cn)找到免费证书.

说明二:

为了关于观看,我先写步骤,在文章后半部分写解析(中间可能穿插)。

具体步骤:
1.下载ca证书和自己的key秘钥
2.配置相应的文件(这里只有nginx和httpd的方法)

步骤一:下载ca证书和自己的key秘钥(两种方法相同)

1.打开证书官网(最好创一个账,又不要钱,等会可能还有用)
2.打开右上角->ssl工具–>csr文件在线生成(Certificate Signing Request 证书签名请求文件)–>按所需填写自己信息(私钥密码后面会用到(听说可以不写,我没有试,之后修改文件时会用到,如果没有写的,我猜测到时候不会用到))
在这里插入图片描述
3.用文本编辑器保存这两个文件(文件名1:xiaoheihu.top.csr(请求文件) 2.xiaoheihu.top.key(你的秘钥),文件类型all)不要用记事本
在这里插入图片描述
在这里插入图片描述
3.证书官网跳到首页填写以下信息(首页先填写你的域名后会跳到这里,填写完成后点击创建)在这里插入图片描述
4.下载文件,在服务器内创建相应目录,放入下载后的文件(apache的是在html目录下,阿里服务器在tomcat下root目录中创建如图)
在这里插入图片描述
在这里插入图片描述
5.配置完成后先检测
在这里插入图片描述
结果1:如果结果如图全部匹配返回去验证就好了(如果美国没有通过也没事,博主之前就是这样,没有通过的不要回去点验证,验证会失败,而且要等十分钟)
结果2:3个都失败,你文件的路径有问题,就是平常你访问自己服务器静态文件的路径(默认apache下的html,nginx服务器开启的要去配置文件下看看)
建议:如果一不小心点了失败,可以去你账号下的申请列表找到后删除,然后重新以上申请过程,这样就不会等十分钟了,

6.成功后会出现如下界面
在这里插入图片描述
好了完成到这里,你的证书文件就已经下好了,ps:下载的文件有两个,一个是key,一个是以上两个证书合起来的证书,不用管

步骤二:配置文件(你服务器怎么访问就用什么方法)

不过我猜现在应该就是用nginx服务器了

方法一:配置apache默认的httpd文件(博主没有亲试,只是看了一些教程,你们最好先看看)

1.在/etc/ssl/创建一个目录(目录名随便,方便起见写你的域名),并把刚刚四个文件放进去,如图
在这里插入图片描述
2.修改ssl.conf配置文件(最好先看看这个视频(这个博主没有亲测))

vim /etc/httpd/conf.d/ssl.conf

如图
在这里插入图片描述
在这里插入图片描述
更改完成后保存. :wq;
3.重启你的httpd服务(博主做的时候有问题,因为我用的是nginx代理过的,所以这里有问题, apache的可以试试)

service httpd restart 

然后应该就可以访问了!

方法二:配置nginx.conf文件

1.在 /etc/nginx目录下创建cret目录,并把下载的证书pem文件和秘钥key文件放进去

2.添加访问443端口的服务如图

vim /etc/nginx/nginx.conf

在这里插入图片描述
3.检查nginx配置文件(这里会需要你之前设置的密码,success代表成功)

$ nginx -t

4.使配置生效

$ nginx -s reload

记得去控制台开放相应端口

如果有报错

nginx: [error] invalid PID number "" in "/var/run/nginx.pid"[root@izwz93428vtl3yogfats5hz nginx]# nginx: [error] invalid PID number "" in "/var/run/nginx.pid"

nginx -c /etc/nginx/nginx.conf
然后在重新加载配置

好了,应该没有其他问题了,应该可以直接访问了。

过程解析:
1.为什么需要https?
为了加密,防止黑客攻击,让浏览器确认你就是他想要访问的服务器,而不是被黑客假冒。这里就需要一个证书(证明你就是服务器),证书一般是由第三方做担保人,你也可以自己做。使用的算法是RSA,有兴趣的同学自己去了解,反正你需要一个证书文件和一个自己用的key文件。
2.nginx配置
之前不了解ngxin的概念,有兴趣的同学自己去了解吧,他只是一个代理器分
正向代理:客户端->nginx->其他服务器,然后数据由nginx返回
反向:自己了解吧 很重要。
想信当你研究完这个两个概念之后就知道整个流程了。

<think>好的,用户想在Linux服务器上更换SSL证书,特别是使用Nginx的情况。我需要根据提供的引用内容整理出一个清晰的步骤指南。首先,用户可能需要的是详细的步骤,包括准备证书、替换文件、修改配置、验证和重启服务。 首先,用户需要准备好新的证书文件,通常包括.pem和.key文件。根据引用[2]和[4],证书可能来自Let's Encrypt或阿里云等机构。然后,找到Nginx的配置文件,一般在/usr/local/nginx/conf/目录下,检查ssl_certificate和ssl_certificate_key的路径,确保替换的新证书路径正确。引用[2]提到可以直接替换旧证书文件,保持文件名一致以避免修改配置文件,这样可以减少出错的可能。 接下来,替换证书文件时,可能需要使用scp或winscp等工具上传到服务器,如引用[3]所述。如果证书路径有权限问题,需要调整权限,操作完成后恢复,这点需要注意安全。然后,使用nginx -t测试配置是否正确,引用[4]和[3]都提到了这个步骤,确保配置无误后再重启Nginx服务,使用nginx -s reload平滑重启,避免服务中断。 此外,用户可能关心证书更换后的验证方法,比如访问网站查看证书信息,如引用[3]提到的通过浏览器检查。如果遇到问题,比如配置文件错误或依赖缺失,需要根据提示安装相关模块,如引用[4]中的情况。 另外,引用[3]提到使用软连接的情况,如果证书路径是软链接,需要更新链接指向新文件,这可能是一个特殊情况,需要特别说明。同时,权限管理也是关键,避免给予不必要的权限,操作后及时恢复。 最后,应该提醒用户检查证书生效情况,并考虑设置自动续期,如Let's Encrypt的certbot工具,但用户的问题主要是更换,可能续期属于额外步骤,可以放在相关建议里。总结步骤为准备证书、替换文件、修改配置、测试并重启、验证,以及注意事项如权限和软连接处理。</think>### Linux服务器Nginx更换SSL证书完整指南 一、操作前准备 1. 获取新证书文件(.pem/.crt和.key) - Let's Encrypt证书路径:$ /etc/letsencrypt/live/your_domain/[^1] - 商业证书需上传至自定义目录,如:$ /usr/local/ssl_certs 2. 确认Nginx配置路径 通过命令定位配置文件: ```bash $ nginx -t 2>&1 | grep -oP 'file \K.*?(?= syntax)'[^4] ``` 二、证书更换步骤(以非root用户为例) 1. 备份原证书(重要!) ```bash $ sudo cp /path/to/old_cert.pem /path/to/old_cert.pem.bak $ sudo cp /path/to/old_cert.key /path/to/old_cert.key.bak ``` 2. 上传新证书文件 - 使用WinSCP/SFTP上传至临时目录: ```bash $ sudo mv /tmp/new_cert.pem /path/to/certs/ $ sudo mv /tmp/new_cert.key /path/to/certs/[^3] ``` 3. 处理软链接配置(如有) ```bash $ sudo ln -nsf /path/to/certs/new_cert.pem /etc/nginx/ssl/current_cert.pem $ ls -l /etc/nginx/ssl/ # 验证链接指向 ``` 4. 修改Nginx配置 ```nginx server { listen 443 ssl; ssl_certificate /path/to/certs/new_cert.pem; ssl_certificate_key /path/to/certs/new_cert.key;[^4] # 其他配置保持不变 } ``` 三、验证与生效 1. 配置语法检查 ```bash $ sudo nginx -t # 出现"syntax is ok"才继续[^4] ``` 2. 平滑重启Nginx ```bash $ sudo systemctl reload nginx # 或 nginx -s reload[^3] ``` 3. 证书生效验证 - 浏览器访问:https://yourdomain.com - 命令行验证: ```bash $ echo | openssl s_client -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates[^2] ``` 四、特殊情况处理 1. 证书路径权限问题 ```bash $ sudo chmod 600 /path/to/certs/*.pem # 最小权限原则[^3] ``` 2. 依赖组件缺失 ```bash $ sudo yum install openssl nginx-mod-ssl # CentOS示例 ``` 五、最佳实践建议 1. 设置证书自动续期(Let's Encrypt) ```bash $ sudo certbot renew --dry-run # 测试自动续订[^1] ``` 2. 配置证书监控(可选) ```bash $ openssl x509 -checkend 86400 -noout -in certificate.pem ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值