nginx使用certbot免費ssl證書,https很簡單

很早就申請了不少域名,可是訪問起來瀏覽器總是顯示一個不安全,看着真的是不爽,由於本身的網站也沒什麼內容就沒配置https,主要仍是看了網上的教程退縮了,以爲比較麻煩。不少證書還要錢,本身也就學習性質地作個網站,因此就沒搞,
今天心血來潮就配置了一下,發現真的挺簡單的,並且免費,本身學習玩玩夠了,在這裏記錄一下。html

1.安裝nginx

nginx的安裝在這裏就很少說了,可使用python

yum install nginx

也能夠編譯安裝,在這裏就很少說了,要注意的一點是要安裝ssl模塊nginx

2.安裝certbot

官網的教程是snap安裝的,我就是這樣安裝的。vim

1.安裝snap
sudo yum install epel-release
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

這幾步下來通常是不會出錯的,這樣sanp就安裝好了瀏覽器

2.安裝certbot
sudo snap install core
sudo snap refresh core

若是以前裝過certbot的話要先卸載安全

sudo yum remove certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

或者session

sudo certbot certonly --nginx

這裏會提示輸入郵箱和域名,還要贊成協議,成功後會有你證書的儲存地址dom

sudo certbot renew --dry-run

最後這步是檢驗socket

3.配置nginx

進入vim nginx/conf/nginx.conf,找到443端口的部分,記得放開443端口學習

server {
        listen       443 ssl;
        server_name  akazwz.com;

        ssl_certificate      /etc/letsencrypt/live/akazwz.com/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/akazwz.com/privkey.pem;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

這是個人配置,貼在這裏你們參考一下

4.重啓生效

systemctl stop nginx
systemctl start nginx
systemctl status nginx

這時訪問你的網站,就會是https了。

5.配置自動續簽

免費的嗎,certbot是須要按期續的,因此咱們設置個定時任務

echo "0 0 1,8,20 * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

這樣的話就完成了,可是中間會出現錯誤,一個是提示找不到nginx,設置個軟鏈接就能夠解決

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
ln -s /usr/local/nginx/conf/ /etc/nginx

還有個錯誤提示沒有安裝ssl模塊,這個在安裝nginx的時候要注意,編譯安裝的話能夠進入安裝包輸入如下命令:

./configure --with-http_ssl_module
make && make install

這樣的話就安裝上了ssl模塊。這裏就記錄到這。

相關文章
相關標籤/搜索