SA本地域名證書服務器搭建

服務搭建

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. 至此就生成完成了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章