免費產生https認證以及配置

來源:互聯網
上載者:User

標籤:下載   note   自我簽署憑證   伺服器   sign   listen   amp   location   選擇   

http升級到https需要在nginx的配置中加入認證資訊,查詢資料後確定產生認證兩種方案 第一種:自我簽署憑證,然後開啟 CloudFlare 的 CDN 服務 //確定是否安裝opensslwhich openssl//如果沒有安裝,通過apt-get或者yum等方式安裝即可sudo apt-get install openssl//產生一個名為“ssl.key”的 RSA key檔案:執行結果:產生ssl.pass.key 和 ssl.keyopenssl genrsa -des3 -passout pass:x -out ssl.pass.key 2048openssl rsa -passin pass:x -in ssl.pass.key -out ssl.key//刪除中間檔案rm ssl.pass.key接著,利用已經產生的 ssl.key 檔案,進一步產生 ssl.csr 檔案:openssl req -new -key ssl.key -out ssl.csr執行此行命令會提示輸入密碼,按斷行符號即可,因為前面我們在產生 ssl.key 時選擇了密碼留空。最後我們利用前面產生的 ssl.key 和 ssl.csr 檔案來產生 ssl.crt 檔案,也就是自簽名的 SSL 憑證檔案:openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt這一步之後,我們得到一個自簽名的 SSL 憑證檔案 ssl.crt,有效期間為 365 天。此時,ssl.csr 檔案也已經不再被需要,可以刪除掉了:rm ssl.csr 參考地址:https://hinine.com/create-and-deploy-a-self-signed-ssl-certificate-to-nginx/ 第二種:藉助於Let‘s Encrypt  Let‘s Encrypt 簡介如果要啟用HTTPS,我們就需要從認證授權機構(以下簡稱CA) 處擷取一個認證,Let‘s Encrypt 就是一個 CA。我們可以從 Let‘s Encrypt 獲得網站網域名稱的免費的認證。Certbot 簡介Certbot 是Let‘s Encrypt官方推薦的擷取認證的用戶端,可以幫我們擷取免費的Let‘s Encrypt 認證。 1. 下載 certbot最好是根據官方網址來處理:https://certbot.eff.org/ 2. 產生免費認證官方文檔有比較詳細的說明,根據自己的情況來選擇https://certbot.eff.org/docs/using.html 注意:官方限制了每周的申請次數,如果你進行開發測試,產生認證的時候加上 --staging參數,這樣就不必太擔心數量的限制了 下面介紹幾種方法無論哪一種方法,實質都是驗證你是不是擁有這個網域名稱,只不過實現的途徑不同 1>webroot方法,此方法會在你配置的伺服器網站目錄下建立 .well-known 檔案夾,這個檔案夾裡麵包含了一些驗證檔案,certbot 會通過訪問 http://example.com/.well-known/acme-challenge 來驗證你的網域名稱是否綁定的這個伺服器 如果你自己沒有建立相應的網站也可以自己加入一個比較通用的配置location ^~ /.well-known/acme-challenge/ { default_type "text/plain"; root /usr/share/nginx/html; } location = /.well-known/acme-challenge/ { return 404; } certbot certonly --webroot -w 網站根目錄 -d example.com -w 網站根目錄 -d www.example.com 2>standalone方法,如果你不想使用你自己的伺服器,這個方法是個選擇,但是需要注意要關閉相應的連接埠或者是80或者443(以你自己選擇的方式決定)使用80連接埠: certbot certonly --standalone --preferred-challenges http -d example.com使用443連接埠: certbot certonly --standalone --preferred-challenges tls-sni -d example.com 3>manual方法,如果你想在任意的linux主機下產生認證,那麼這種方法可能是一個選擇,但是要注意的是驗證過程中會產生一個字串,需要你將這個隨機的字串添加到你dns伺服器才可以完成驗證操作.certbot certonly --manual --preferred-challenges dns -d archerwong.cn 3.刪除認證,如果你產生的時候添加了 --stagin參數,下面的命令也要添加certbot revoke --cert-path /etc/letsencrypt/live/example.com/cert.pemcertbot delete --cert-name example.com 4.認證更新sudo certbot renew --dry-run 5.豐富的參數選擇以上的各種命令其實都是可以加入很多參數,最好是尋找下官方文檔https://certbot.eff.org/docs/using.html 當然官方提供了很多種產生認證的方法,你可以根據你自己的實際情況進行選擇 認證產生完畢後,我們可以在 /etc/letsencrypt/live/ 目錄下看到對應網域名稱的檔案夾,裡面存放了指向認證的一些捷徑。 產生認證後,配置 Nginx 開啟 nginx server 設定檔加入如下設定:server {  listen 443 ssl on;  ssl_certificate /etc/letsencrypt/live/網站網域名稱/fullchain.pem;  ssl_certificate_key /etc/letsencrypt/live/網站網域名稱/privkey.pem;  ## 其他配置} 強制跳轉 httpshttps 預設是監聽 443 連接埠的,沒開啟 https 訪問的話一般預設是 80 連接埠。如果你確定網站 80 連接埠上的網站都支援 https 的話加入下面的配件可以自動重新導向到 httpsserver {  listen 80;  server_name your.domain.com;  return 301 https://$server_name$request_uri;} 參考地址:https://zhuanlan.zhihu.com/p/21286171https://zhuanlan.zhihu.com/p/24996258         

免費產生https認證以及配置

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.