使用Let’s Encrypt將http網站升級爲https

本身的服務器到期,轉移本身博客內容至此。php

系統環境:CentOS 7css

網站環境:LNMPhtml

http站點升級爲https,主要爲如下三個步驟:python

     一、獲取Let’s Encrypt免費證書nginx

     二、配置Nginx開啓https服務器

     三、配置按期自動更新證書                 wordpress

1、獲取Let’s Encrypt免費證書post

    a、Let’s Encrypt客戶端的安裝網站

 [root@haproxy ~]# yum install certbot -y   #安裝證書客戶端

        發現沒法安裝,而後用的是oneinstack的安裝腳本( 官網:https://oneinstack.com/)
應該是環境或者python版本致使,無需深究,僅傳播本身使用過的方法,減小彎路。
       oneinstack下載到服務器後,tar xf 解壓,進入oneinstack目錄運行addons腳本:spa

[root@haproxy oneinstack]# ./addons.sh   #運行當前目錄addons.sh腳本文件
 選擇 7. Install/Uninstall Let’s Encrypt client  安裝,等待安裝完成,選擇q,退出。
[root@haproxy oneinstack]# yum install certbot -y   #安裝證書客戶端,正常。

    b、獲取Let’s Encrypt證書

[root@xifeng ~]# /usr/local/tengine/sbin/nginx -s stop
#先中止nginx,否則提示443端口被佔用,沒法安裝
[root@xifeng ~]# certbot certonly –standalone -d mycloud.liuanhuaming.top
#建立mycloud.liuanhuaming.top域名的證書,能夠接多個域名,前面要加-d參數。

首次提示輸入郵箱地址,後面默認回車便可。

2、配置nginx開啓https

如下爲個人博客nginx配置:

server {
listen 80;
server_name www.liuanhuaming.top liuanhuaming.top;
rewrite ^(.*) https://www.liuanhuaming.top$1 permanent;
}

server {
listen 443 ssl;
ssl on;
server_name www.liuanhuaming.top;
root /var/html/wordpress;
access_log /data/wwwlogs/www.liuanhuaming.top_nginx.log combined;
index index.php;

ssl_certificate /etc/letsencrypt/live/liuanhuaming.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/liuanhuaming.top/privkey.pem;

location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /\.ht {
deny all;
}
}

重啓nginx,再打開網站,將會變成https://www.liuanhuaming.top了。

3、配置按期自動更新證書

[root@xifeng renewal]# certbot renew –pre-hook 「service nginx stop」 –post-hook 「service nginx start」
#更新證書前中止nginx,更新完成後啓動nginx。由於443端口須要中止。

提示證書還沒有到期,無需續簽。配置定時任務,添加每隔兩個月凌晨2:30更新:

[root@xifeng renewal]# crontab -e
30 2 * */2 * certbot renew –pre-hook 「service nginx stop」 –post-hook 「service nginx start」

完成!

相關文章
相關標籤/搜索