欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SA本地域名证书服务器搭建

程序员文章站 2022-03-24 20:01:52
...

服务搭建

1.前置动作与注意事项(必须):
a.开放本机的80端口与443端口可供外网访问
b.本机一定要有外网可以访问的公网IP
c.此处用到的nginx已经在附件中安装了,只能使用附件中的nginx软件包或者yum安装,不能使用源码安装
d.在生成证书前,必须将该域名的DNS指向更改为本机(IP),如果执行生成命令失败,报错为DNS验证失败。请检查DNS指向,指向正确的话,请等待一段时间后再执行。

2.开始搭建:
a.上传并安装附件软件包中的所有软件包
b.删除nginx默认的配置文件
rm -rf /etc/nginx/conf.d/*
c.创建此处使用的nginx配置文件(此处的root可以随便写,只有此目录存在即可,server_name 写需要生成证书的域名。)

	echo 'server {
listen  80;
root /opt/文件夹;
server_name 域名;
index index.html index.htm index.php;
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}' > /etc/nginx/conf.d/SA.conf

d. 重启所有服务

systemctl start php72-php-fpm
systemctl restart php72-php-fpm
systemctl enable php72-php-fpm
systemctl start nginx
systemctl restart nginx
systemctl enable nginx

e.到此处服务器就搭建完成了
3.生成证书(将附件中的certbot-auto拷贝至服务器中,可以直接放在/root/bin/,并且加上可执行权限),此处的域名可以写多个,但是不能写*.域名,不支持
certbot-auto --nginx -d 域名1 -d 域名2
(第一次会提示输入邮箱和其他确认,依照提示输入就好)

4.生成之后默认存放在/etc/letsencrypt/archive/域名/,路径下有存在两个不相干的证书,生成的文件需要查看生成命令输出内容,包含了key与crt, 生成的两个文件直接重命名为crt与key就可以使用的

证书生成

  1. 将需要生成证书的域名解析到IP 可以一次生成包含多个域名的证书。 注:不支持泛域名生成证书

  2. 修改nginx配置文件的Server_name,将域名写在Server_name 的后面,只需要修改server_name 就行。其他都不需要修改
    sudo vi /etc/nginx/conf.d/SA.conf
    server_name 域名 域名;

  3. 重启nginx服务
    systemctl restart nginx

  4. 使用命令生成证书,多个域名必须加"-d" 选项,每有一个域名就需要有一个"-d",格式为 certbot-auto --nginx -d 域名 [-d 域名]
    certbot-auto --nginx -d 域名 -d 域名

  5. 命令执行完成后会提示证书存放位置,这个提示的位置是软链接!! 。/etc/letsencrypt/archive/域名/下才是真正的证书文件

  6. 将文件名包含key的文件重命名为 “域名.key”, 另一个文件重命名为 “域名.crt”

  7. 至此就生成完成了

相关标签: Linux服务搭建