Python / 解決 pip 安裝套件時遇到 SSL CERTIFICATE_VERIFY_FAILED

Python / 解決 pip 安裝套件時遇到 SSL CERTIFICATE_VERIFY_FAILED

稍微查了一下,使用 pip (或 pip3) 安裝 Python 套件時遇到 SSL CERTIFICATE_VERIFY_FAILED 錯誤可能的原因有很多,錯誤的狀態也有很多種,不過總體來看就是 SSL 的認證問題。如果在不嘗試解決認證問題之下,還可以透過以下指令參數忽略 SSL 認證直接安裝套件,目前試過是成功的。 ▍ 安裝套件的 pip 指令: ▍ 加入信任參數後的 pip 指令: 透過升級 pip 解決此問題 在 pip 10.0 之後可以透過指令升級 pip 來解決此問題,指令如下。 ▍ 升級 pip 的指令: Reference pip install fails with “connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)” | stack overflow Copyright announcement:Photo by Markus Spiske on...

WordPress / 快速架站教學:在 Google Cloud (GCP) 台灣主機上免費架設 WordPress Bitnami

WordPress / 快速架站教學:在 Google Cloud (GCP) 台灣主機上免費架設 WordPress Bitnami

本篇快速架站教學是給已經熟悉 GCP、Linux 指令、Apache Server 和 WordPress 的朋友一個快速查詢指令與設定方式的文件,省略所有細節的解說直接把指令和參數一個步驟、一個步驟詳列出來。也可以搭配教學系列的文章閱讀,查詢詳細的說明。 環境說明與範例假設 在所有的教學文章當中,我們都是用 WordPress Bitnami 架設網站,目前 (2019.09) 的作業系統是 Linux Debian 9,並且使用 Google Cloud Platform (GCP) 的伺服器架設,目前有第一年免費試用的額度可以使用。主要架站的步驟大約是: 建立 GCP 專案並佈署 WordPress Bitnami,並安裝 Google Cloud SDK 以 SSH 連線的方式控制遠端伺服器 架設 FTP Server 更改 MySQL Administrator 密碼、設定外部靜態 IP 位址 設定 Domain Name 及 Apache Server 參數 申請 SSL 憑證,建立網站加密連線   步驟一:使用...

WordPress / 多重架站三:設定 SSL 加密連線 (以 Apache 為例)

WordPress / 多重架站三:設定 SSL 加密連線 (以 Apache 為例)

設定完各網站的網址之後,接著就要來設定 SSL 連線。他的設定方式與單一 WordPress 的設定方式幾乎相同,關於 SSL 的詳細說明可以參考 WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例) ,本篇就不再多做說明。 申請 SSL 憑證 本篇教學是用免費的 Let’s Encrypt 申請 SSL 憑證。 ▍安裝 Lego Client 下載 Lego 安裝檔,放在 /tmp 當中。並以 ls 指令確認下載回來的版本,像我下載的是 lego_v3.0.2_linux_amd64.tar.gz。 記得把 X.Y.Z 換成你所下載的版本、解壓縮,建立資料夾並將 Lego 移過去。 ▍停用 Apache server ▍產生密鑰並向 Let’s Encrypt 申請憑證 將 EMAIL-ADDRESS 改成你的 email。將 DOMAIN 改成你要申請的網址,可以同時申請多個 domains,以--domains="DOMAIN" 作為參數放進去即可。Lego...

WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例)

WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例)

前面有提到關於 WordPress 網站連線有兩件重要的事,一是 domain name 網址的導引,這在前一篇已經談過。本篇要來談另外一個重要的事情,那就是網站的安全性。 SSL 憑證與 https 加密連線 早期的 http 連線是瀏覽器存取網站的通訊協定,最早期是在 1898 年由歐洲核子研究組織 (CERN) 所提出,在當時這樣的通訊協定已經可以滿足通訊的需要。http 它是一個沒有經過加密的明文通訊傳輸,隨著網路的發展以及駭客們的鼓勵 ?! 安全性的問題日漸被重視。 明文通訊的資安風險非常的高,因為你無法得知和你通訊的人 (伺服器) 是不是你想像中應該的那個人?而伺服器也無法得知目前的 client 端是否是可以信任的那個人?就算雙方身份都正確,亦無法確認你們兩個之間的通訊是否有被擷取、竄改、攔截。所以 https 就這麼誕生啦~ https 的全文是 HyperText Transfer Protocol Secure,安全超文本通訊協定。和原始的 http 不同的地方是,它透過雙方的認證 (handshake,交握) 過程,確認彼此的身份,並藉由 SSL 或 TSL 憑證加解密通訊內容。 所以簡單來說,申請了一份 SSL 憑證就能讓伺服器以 https 的方式通訊,讓網站的連線更加安全。 SSL 連線的基本流程概述 在建立 SSL 連線前,首先要先知道一個重要的角色以及幾個檔案: CA (Certificate Authority,憑證簽發機構) CRT 憑證 (也就是...