- 錯誤型別:
- 瀏覽器錯誤
- 錯誤名稱:
- 证书通用名称无效
- 英文名稱:
- NET::ERR_CERT_COMMON_NAME_INVALID
- 錯誤描述:
- 正如错误消息所述,NET::ERR_CERT_COMMON_NAME_INVALID背后的根本问题是您的SSL证书上的通用名称由于某种原因无效。
- 錯誤變體:
- Your connection is not privateThis site is not secureYour connection is not secure
通過安全超文字傳輸協議 (HTTPS)載入您的網站是一項關鍵的網路安全最佳實踐。但是,如果您沒有正確安裝安全套接字層 (SSL) 證書,您可能會遇到許多錯誤,例如NET::ERR_CERT_COMMON_NAME_INVALID。
誠然,解決此錯誤可能有點棘手,因為它可能出現在您的瀏覽器中的原因有很多。如果您可以縮小原因,解決此 SSL 問題根本不需要很長時間。
在本文中,我們將解釋NET::ERR_CERT_COMMON_NAME_INVALID錯誤的含義,並向您展示它在各種瀏覽器中的外觀示例。然後我們將分享您可以用來修復它的幾種方法。
- 瞭解導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤的原因
- NET::ERR_CERT_COMMON_NAME_INVALID錯誤的變體
- 如何修復NET::ERR_CERT_COMMON_NAME_INVALID錯誤
瞭解導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤的原因
在我們深入研究導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤的原因之前,讓我們分解相關術語。在“common name”這個錯誤的引用是在域上的SSL證書已安裝。
例如,如果您的網站位於mydomain.com,則您的SSL證書上的通用名稱將是mydomain.com。因此,正如錯誤訊息所述,NET::ERR_CERT_COMMON_NAME_INVALID背後的根本問題是您的SSL證書上的通用名稱由於某種原因無效。
通常,這意味著您的證書上的名稱與其安裝的域不匹配。但是,還有其他情況可能會導致此訊息出現在您的瀏覽器中,包括:
- 您的SSL證書不考慮您域的www和非www變體。
- 您嘗試將您的網站切換到HTTPS,而沒有先安裝SSL證書。
- 您的站點安裝了自簽名SSL證書,並且您的瀏覽器無法識別它是有效的或安全的。
- 您的防病毒軟體正在阻止您的SSL連線。
- 一個瀏覽器擴充套件的干擾與您的網站的SSL連線。
- 您的代理設定配置錯誤。
- 您的瀏覽器快取或SSL狀態已損壞。
如您所見,許多不同的因素都可能導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤。這可能會使確定正確的解決方案變得困難,但一點耐心將有助於您解決問題。
NET::ERR_CERT_COMMON_NAME_INVALID錯誤的變體
我們將很快深入研究NET::ERR_CERT_COMMON_NAME_INVALID錯誤的解決方案。但是,首先,您需要能夠在瀏覽器中識別它。
下面是這個問題在網路上最流行的客戶端中的樣子。
Chrome瀏覽器
像許多其他與HTTPS相關的錯誤一樣,谷歌瀏覽器通過顯示“Your connection is not private”警告來表示存在常見的名稱不匹配:
Google Chrome中的NET::ERR_CERT_COMMON_NAME_INVALID錯誤
您將看到主要訊息下方列出的特定問題 (NET::ERR_CERT_COMMON_NAME_INVALID)。看到此螢幕的使用者可以選擇使用HTTP繼續訪問您的站點。
此訊息有可能嚇跑許多潛在訪客。
Firefox瀏覽器
Firefox 提供了一個稍微不同的通用名稱不匹配錯誤的變體。在“Your connection is not secure”標題下,它會告訴您您嘗試訪問的網站配置不正確,並建議您不要訪問它。
您可能還會看到一條訊息,內容為“Warning: Potential Security Risk Ahead(警告:潛在的安全風險)”:
Mozilla Firefox中的安全風險警告
它也可能在下面顯示更具體的錯誤訊息,指出安全證書無效並且僅配置為使用列出的域名。
您還將看到“SSL_ERROR_BAD_CERT_DOMAIN”程式碼。
Safari瀏覽器
在Safari中,相應的錯誤訊息顯示為“Safari can’t verify the identity of the website(Safari無法驗證網站的身份)”或“Safari can’t open the page(Safari無法開啟頁面)”,然後是您嘗試訪問的域。
它還可能宣告站點的SSL證書無效或無法建立安全連線:
Safari瀏覽器出錯
與其他瀏覽器相比,Safari的常見名稱不匹配錯誤訊息有些含糊。
如果您看到此錯誤視窗,則其背後可能還有其他與SSL相關的問題,因此請務必尋求各種解決方案。
IE瀏覽器
Internet Explorer切入正題,並通知您“此站點不安全(This site is not secure)”。並表示SSL證書的可信度存在問題。此訊息後可能會跟隨一些不同的規範:
Internet Explorer中的安全證書警告
與Chrome中的NET::ERR_CERT_COMMON_NAME_INVALID錯誤相當的問題的問題通常是:“該網站提供的安全證書是針對不同網站的地址頒發的。”
它還將為訪問者提供一些潛在的解決方案,例如在他們輸入的URL中新增或刪除“www”。
但是,此類修復只是暫時的。持續存在的錯誤仍可能會損害您網站的可信度並阻止您增加流量,因此最好找到問題的根源並迅速解決。
如何修復NET::ERR_CERT_COMMON_NAME_INVALID錯誤
正如您現在所知,NET::ERR_CERT_COMMON_NAME_INVALID錯誤有很多可能的原因。因此,它也有很多潛在的修復方法。您可以嘗試在您的網站上解決此問題的九種方法。
1. 驗證您的SSL證書是否正確
NET::ERR_CERT_COMMON_NAME_INVALID錯誤的最基本原因是您站點的域與您的SSL證書上列出的通用名稱不匹配。因此,您要嘗試的第一個修復是檢視您的證書以確定它是否配置錯誤。
在整篇文章中,我們將展示在Google Chrome中解決此錯誤的示例。但是,其他瀏覽器應該使您能夠通過類似的步驟完成相同的結果。
首先,單擊URL欄中的“不安全(Not Secure)”警告。在開啟的選單中,選擇Certificate證書 (Invalid無效):
在Google Chrome中開啟證書檢查器
這將開啟一個小視窗,顯示您的SSL證書的詳細資訊:
在Google Chrome中檢查網站的SSL證書
此處列出的域應與您嘗試訪問的域相匹配。如果沒有,您就會知道您的證書配置錯誤。
最好的解決方案是從您的站點中刪除證書並安裝一個新證書。
驗證萬用字元SSL證書
當涉及萬用字元SSL證書時,NET::ERR_CERT_COMMON_NAME_INVALID錯誤會變得稍微複雜一些 。這種型別的證書旨在加密多個子域的資料。
因此,不是在證書上列出一個通用名稱,而是 使用諸如*.example.com 之類的子域級別。如果您安裝了萬用字元證書並且看到NET::ERR_CERT_COMMON_NAME_INVALID錯誤,則可能意味著您的證書不涵蓋您嘗試訪問的子域。
在瀏覽器中驗證SSL證書時請記住這一點。另請注意,萬用字元SSL證書僅保護一個子域級別。例如,您需要為*.example.com 和*.subdomain.example.com 提供單獨的證書。
驗證主題備用名稱 (SAN) 證書
主題備用名稱 (SAN) 證書可以加密指向同一站點的多個域的資料。這可能包括www和非www變體、子域和頂級域 (TLD)變體。
如果您嘗試訪問的站點使用SAN證書,則在您的瀏覽器中驗證 SSL 證書時,您可能需要做一些進一步的挖掘。
在Chrome中,單擊證書視窗中的詳細資訊:
Google Chrome中證書檢查器視窗的“詳細資訊”選項卡
向下滾動,直到找到標有Extension Subject Alternative Name的部分。在它下方,您應該會看到證書保護的所有域的列表。
2. 檢查錯誤配置的重定向
如果您將站點從一個域重定向到另一個域, 並且沒有在第一個域上安裝SSL證書,則可能會導致錯誤。例如,許多SSL證書不會自動說明您網站的www和非www版本。
假設您將www.example.com設定為重定向到example.com。如果您在example.com上而不是在www.example.com上安裝 SSL 證書,您可能會看到NET::ERR_CERT_COMMON_NAME_INVALID錯誤。
如果您不確定您的網站是否以這種方式重定向訪問者,您可以使用Redirect mapper進行檢查:
重定向對映器工具
此工具僅檢查 您網站的HTTP和HTTPS版本之間以及www和非www版本之間的重定向。
如果您發現重定向干擾了您的SSL證書,您可以嘗試幾種解決方案。一種是將證書上的通用名稱更改為正確版本的域。
您還可以為要重定向的域獲取另一個證書,或者獲取涵蓋兩個域的SAN證書。對於萬用字元域,您需要列出要加密的每個子域,而不是在它們之間重定向。
3. 確保您的WordPress地址和站點地址匹配
在沒有安裝SSL證書的情況下,意外地將您的站點地址切換到HTTPS是相當容易的,尤其是在WordPress中。無論您認為自己是在實施安全最佳實踐,還是隻是在網站設定中閒逛,您都可能無意中導致了NET::ERR_CERT_COMMON_NAME_INVALID錯誤。
解決這個問題相當簡單。
在您的WordPress儀表板中,導航到設定>常規。在那裡,確保您的WordPress地址和站點地址匹配:
檢查WordPress地址和站點地址設定
此外,如果這些URL使用HTTPS而您沒有安裝SSL證書,請將它們更改為HTTP。請記住儲存您所做的任何編輯。
如果進行此切換後錯誤仍然存在,您可能還需要通過 hpMyAdmin更改資料庫中的地址。
您可以通過您的主機帳戶訪問此程式。通過單擊左側邊欄中的名稱開啟您站點的資料庫,然後訪問wp_options表:
檢查phpMyAdmin中的siteurl和home行
查詢siteurl 和home行。根據需要編輯地址,然後檢查您是否可以訪問您的站點。
4. 確定您的站點是否使用自簽名SSL證書
當您通過Let’s Encrypt或其他信譽良好的來源獲得SSL證書時,它由公認的證書頒發機構 (CA) 簽署。自簽名證書不受CA支援,而是由使用者建立。
自簽名證書不如CA認可的證書安全。一些使用者發現它們很有吸引力,因為它們是免費的,但Let’s Encrypt也免費提供授權的SSL證書。除了為內部伺服器目的或localhost use設定一個之外,真的沒有理由使用自簽名證書。
由於它們不提供授權證書所提供的全面保護,瀏覽器通常將使用自簽名證書的站點標記為“不安全”。在某些情況下,這可能會導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤。
您可以使用我們在本文前面描述的第一種方法檢查證書的CA。此資料將列在證書資訊彈出視窗中:
在Google Chrome中檢查CA的SSL證書
如果您認為您的站點使用自簽名證書並且您不是開發人員,那麼最好的做法是聯絡為您構建站點的人員並要求他們將其刪除。這樣,您可以用授權的替換它。
如果您有意安裝了自簽名證書,則可以使用瀏覽器對其進行身份驗證以克服錯誤。此過程因您的瀏覽器和作業系統而異,通常比簡單地安裝Let’s Encrypt證書更困難。
5. 清除您的SSL狀態和瀏覽器快取
如果您的證書配置中的所有內容看起來都正確,但您仍然看到NET::ERR_CERT_COMMON_NAME_INVALID錯誤,則您可能需要清除SSL狀態。瀏覽器可能會快取SSL證書以加快載入時間。如果您剛剛安裝了新證書,即使一切正常,您仍可能會看到錯誤訊息。
同樣,此過程因您的瀏覽器和作業系統而異。在本示例中,我們將重點介紹Chrome,但會向您展示如何在Windows和macOS上清除SSL狀態。
對於Windows,開啟開始選單並輸入Internet選項。選擇出現的相同選項,然後轉到Internet選項視窗中的內容選項卡。現在單擊清除SSL狀態按鈕:
在Windows中清除SSL狀態
在macOS上,您需要使用鑰匙串管理器來清除SSL狀態。您可以通過轉到設定 > 隱私和安全 > 管理證書在Chrome中訪問它:
在macOS上的Chrome中開啟管理證書設定
查詢為您嘗試訪問的域列出的證書。右鍵單擊它並選擇刪除:
使用macOS鑰匙串管理器刪除證書資料。
系統可能會提示您提供使用者密碼。
在此處刪除證書應該會清除您的SSL狀態並解析NET::ERR_CERT_COMMON_NAME_INVALID(如果快取損壞是原因)。
清除瀏覽器快取也是明智之舉 。在Chrome中,這就像開啟設定選單並選擇更多工具 > 清除瀏覽器資料一樣簡單:
清除瀏覽資料
您還可以導航到您的隱私和安全設定以指定要清除的資料。只需確保 從選項列表中選擇快取的影象和檔案。
6. 檢查您的代理設定
代理伺服器,用於路由網路流量,以保留客戶或原始伺服器的匿名性。如果您的代理設定配置錯誤,則可能會限制您的Web訪問並導致各種問題,包括SSL錯誤。
為了防止此類問題,您需要重置代理設定。此過程因您使用的是Windows計算機還是Mac計算機而異。
無論您使用哪種作業系統,您都可以通過谷歌瀏覽器訪問您的代理設定,方法是導航到設定 > 高階 > 系統 > 開啟您計算機的代理設定:
通過Google Chrome開啟代理設定
如果您使用的是Windows,這將開啟Internet屬性 視窗。單擊連線選項卡,然後選擇LAN設定 按鈕並選擇自動檢測設定:
自動檢測您的網路設定
在 macOS 上,這將開啟您的網路設定視窗。單擊“代理” 選項卡並選擇“自動代理配置”:
為macOS開啟自動代理配置
然後,您可以嘗試再次訪問您的站點,以檢視錯誤是否已解決。
7. 瀏覽器擴充套件衝突故障排除
與WordPress外掛一樣,瀏覽器擴充套件並不總是能很好地相互配合。
一些此類衝突可能會干擾您站點的HTTPS連線,從而導致各種錯誤。
要檢視瀏覽器擴充套件是否可能導致NET::ERR_CERT_COMMON_NAME_INVALID錯誤,請在隱身視窗中開啟您的站點:
谷歌瀏覽器中的隱身視窗
這將減輕您安裝的任何擴充套件的影響。如果您可以在隱身模式下正常訪問您的網站,那麼瀏覽器擴充套件程式可能是您遇到麻煩的根源。
在這種情況下,最好的解決方案是一次禁用一個擴充套件以確定導致錯誤的原因。然後,您可以刪除罪魁禍首以永久解決問題。
8. 更改您的防病毒軟體設定
同樣,防病毒軟體可能會阻止正確的HTTPS連線。如果您在計算機上執行此類程式,請檢查其設定以檢視是否禁用了HTTPS掃描。如果是這樣,您將需要啟用它。
如果您更改此設定並且問題沒有消失,您可能需要考慮完全禁用該軟體。如果這修復了NET::ERR_CERT_COMMON_NAME_INVALID錯誤,那麼您可以聯絡防病毒程式的支援團隊以獲得進一步的幫助。
當然,您不希望在很長一段時間內禁用防病毒軟體,因為這會帶來安全風險。因此,最好在等待支援人員的響應時重新開啟它,並按照他們的指導解決錯誤,同時保持計算機的安全。
9. 更新您的瀏覽器和作業系統 (OS)
嘗試訪問某些網站時,過時的作業系統可能會導致錯誤。因此,確保您執行的是最新版本的Windows、macOS或Linux是明智之舉。
您還需要驗證您的瀏覽器是否是最新的。要在Chrome中執行此操作,請開啟“設定” 選單,然後選擇“幫助”>“關於Google Chrome”:
開啟谷歌瀏覽器的關於部分
您可以在此處檢視瀏覽器的版本並開啟自動更新:
檢視您的Google Chrome版本
如果Chrome不是最新版本,開啟此螢幕應該會自動啟動更新。
小結
當涉及到瀏覽器錯誤時,NET::ERR_CERT_COMMON_NAME_INVALID是一個很難修復的問題。但是,如果您可以縮小導致問題的範圍,您就可以快速解決問題並保持您的網站在訪問者中的可信度。
作為修復此錯誤的第一步,我們建議首先在瀏覽器中檢查您的SSL證書並查詢任何配置錯誤的重定向。如果這些沒有幫助,請開始檢視我們在本指南中提到的所有其他方面。
評論留言