发表于: 2020-02-16 22:55:39

2 1178



1、使用certbot生成ssl证书,另一种方法,成功生成ssl证书,但是https失败。

按照下图步骤进行。当前工作目录在“/root”。
进行第一步获取certbot,如下图,为获取的certbot。

再赋予权限,如下图。

然后停止nginx运行。

添加邮箱、域名,生成ssl,报错无法识别参数。。

先“yum install certbot”,报出详细翻译如下,然后再输入下图命令,设置邮箱、以及需要配置ssl证书的域名。

就能成功执行了,输入“A”同意协议,输入“Y”允许邮件推送。

最后成功生成ssl证书,文件位置是默认的,如下图。

ssl证书文件位置:/etc/letsencrypt/live/dev.home.daoxiangzhe.xiuzhenyuan.cn

在servers.conf中添加,指定ssl证书文件位置。

壮壮师兄给发的代码,参照这个配置的。

重载nginx配置,报错如下。

百度说是需要使用 nginx -c 指定nginx.conf的位置,于是如上图命令。

随后logs文件夹中生成了nginx.pid文件,之前报错后查看是没有的。

但是一直无法访问https,想着会不会是权限的问题。。

但是开放最大权限也没用。

后来发现复盘服务器没有开启443端口。。
就以为是这个的原因,但是后来壮壮师兄配置了阿里的ssl证书发给我,查看443端口开启了,上传ssl证书,修改nginx配置之后,还是没用。。

查看443端口已开启。

后来又有一个说法,查看nginx安装时,有没有安装ssl模块。。使用“nginx -V”命令,其中“ V ”要大写。。

但是nginx也是支持ssl的,所以就找不到原因了。。

查看ssl证书的真假,在线校验网址:https://www.chinassl.net/ssltools/decoder-ssl.html

壮壮师兄给的阿里云ssl证书,有效期是一年。

我自己用certbot配置的ssl证书,有效期3个月。

2、解决nginx无法开启、停止、重载问题。

再使用上面第一个certbot生成ssl证书文件的方法后,删除了生成的ssl证书,然后nginx就无法重载、停止了。报错如下。

网上有说将nginx.conf中的 user root; 改为 user nobody; ,修改后没用。

查看很多答案,大多说可能是没有这个用户,而当没有写组名时,默认跟用户名同名。

又猜想是不是因为之前配置ssl证书,复制过nginx配置文件,导致系统读取错误,因为复制的文件已经删除,所以这里试着将nginx进程kill,使用“killall nginx”命令,全部杀死。但是没有用处,还是之前的报错。

于是开始想着查看当前用户名、所在组。

 使用“id root”查看,但是不够直观。

于是百度找到了“whoami”命令,命令也简洁易懂,结果也直观,直接显示当前用户为root,再使用“groups root”命令,这意思是没有组?

查看用户信息相关文件。

没办法,于是想着直接创建一个组,但是先是回复无法打开“/etc/group”文件,于是查看文件,发现根本没有该文件,但是有个“group-”文件。

因为之前查看用户信息文件,发现每个文件都有一个名称后加“-”的备份,如下图passwd文件。

于是将“group-”文件复制一份,命名为“group”。

再次测试nginx.conf配置,成功,也可以成功启动nginx、重载nginx。
明天计划的事:
1、日志、缓存配置优化。
遇到的问题:
1、生成ssl证书成功,在nginx配置也没问题,其他也没什么需要设置的了,但是就是无法访问https。。找不到解决办法。因壮壮师兄说复盘不需要上线,该问题待定。
收获:
1、使用certbot生成ssl证书,另一种方法,成功生成ssl证书,但是https失败。
2、解决nginx无法开启、停止、重载问题。

返回列表 返回列表
评论

    分享到