nginx開啟https(免費的二級域名也可以)


  來源:https://www.cnblogs.com/DouglasLuo/p/12258331.html

  最近疫情很嚴重,開學也被延遲了。於是在家很閑啊。碰巧,前幾天我租了個域名,就想用研究一下如何搭建https。

  這篇文章將用到一下內容:

    centos7

    一個域名,DNS已經解析到vps的ip地址(免費的二級域名也可以)。

    一台vps(沒有vps用網站空間也可以,但不在這篇文章的討論范疇)。

  首先在vps上安裝nginx,並開啟端口實現可以在外網訪問通過80端口訪問網站。

yum install epel-release -y                              #安裝epel源,默認的系統源沒有nginx,安裝完nginx之后可以把epel源移除
yum install nginx -y                                     #安裝nginx服務
firewall-cmd --add-port=80/tcp --zone=public --permanent #設置防火牆開放80端口
systemctl start nginx                                    #啟動ngxin服務

  這時候直接在瀏覽器中訪問vps的ip地址可以直接看到nginx的默認頁面

  然后我們需要使用certbot-auto工具申請let's encrypt提供的免費ssl證書。

      let's encrypt(官網)

wget https://dl.eff.org/certbot-auto      #下載certbot-auto工具
mv certbot-auto /usr/local/bin/certbot-auto  #把certbot-auto復制到一個PATH變量包含的目錄
chown root /usr/local/bin/certbot-auto     #設置文件所屬者為root
chmod +x /usr/local/bin/certbot-auto      #為certbot-auto工具添加可執行權限

  這時候執行certbot-auto命令就可以本地申請let's encrypt證書

certbot-auto certonly --email 你的郵箱 --agree-tos --no-eff-email --webroot -w 網站的根目錄 -d 你的域名

  注意,這里輸入的必須是已經解析到當前vps的域名,可以是二級域名。並且執行這行命令的時候必須保證nginx的服務是開啟的,並可以通過80端口訪問nginx

       命令如果執行的順利,將在

/etc/letsencrypt/live/你的域名/

  目錄下面生成證書文件。這里主要用到以下兩個文件

    fullchain.pem  證書文件

    privkey.pem    證書文件的私鑰

  現在可以編輯nginx的配置文件實現https

vim /etc/nginx/nginx.conf

  在配置文件中添加一個server塊,塊的內容如下:

server {
    listen 443 ssl;            #監聽ipv4的443端口,ssl協議
    listen [::]:443 ssl;         #監聽ipv6的443端口,ssl協議
    root /usr/share/nginx/html;     #該server的工作目錄(這是nginx的默認目錄)
    server_name 你的域名;         #你的域名
    ssl on;                 #開啟ssl
    ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;   #設置ssl證書,指定ssl證書文件的目錄
    ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem; #ssl證書的私鑰

    location / {
    }
}

  保存並重啟nginx服務

nginx -t          #測試配置文件是否正確
service nginx restart #重啟nginx服務
firewall-cmd --add-port=443/tcp --zone=public --permanent #設置防火牆開放443端口

  這時候直接訪問https://你的域名

  就可以看到https已經開啟了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM