使用MAMP時如何修復“此站點無法提供安全連線”錯誤

使用MAMP時如何修復“此站點無法提供安全連線”錯誤

沒有什麼比錯誤訊息更能讓您的工作戛然而止了——尤其是在涉及安全的情況下。閱讀“此站點無法提供安全連線”的通知可能會令人困惑和震驚。如果您在MAMP安裝中遇到,它也可能具有破壞性,因為這些站點通常是本地測試安裝

此問題通常與您的Web瀏覽器或站點的SSL證書有關。幸運的是,修復它相對容易。這可能就像清除瀏覽器的快取一樣簡單。

在本文中,我們將瞭解此錯誤訊息的最常見原因。然後,我們將引導您瞭解如何進行故障排除和修復,以便您可以回到更重要的事情上。

  1. 此站點無法提供安全連線錯誤介紹
  2. 為什麼會出現此站點無法提供安全連線錯誤
  3. 如何修復此站點無法提供安全連線錯誤

此站點無法提供安全連線錯誤介紹

首先,什麼是“安全連線”?本質上,它是到使用HTTPS而不是HTTP的網站的連線。大多數瀏覽器在位址列中顯示帶有掛鎖圖示的這些站點,以表明連線是安全的。

閃電博使用加密的HTTPS連線

閃電博使用加密的HTTPS連線

與HTTP相比,HTTPS提供了主要的安全優勢,但它也有嚴格的要求以確保合規性。其中之一是存在有效的SSL證書

“此站點無法提供安全連線(This site can’t provide a secure connection)”錯誤表示SSL證書存在問題。換句話說,該站點聲稱符合HTTPS,但它要麼不提供證書,要麼使用無效的證書。如果無法驗證證書,瀏覽器將不會載入該站點,而是會顯示此錯誤訊息。

關於此通知的另一件事是,它的呈現方式可能因瀏覽器而異。但是,在每種情況下,該訊息都會以某種形式提及安全連線。

以下是該訊息在Google Chrome中的外觀:

Google Chrome中的安全連線錯誤

Google Chrome中的安全連線錯誤

在Mozilla Firefox中,它的顯示方式如下:

Mozilla Firefox中的安全連線錯誤

Mozilla Firefox中的安全連線錯誤

在Microsoft Edge中的樣子:

Microsoft Edge中的安全連線錯誤

Microsoft Edge中的安全連線錯誤

如您所見,大多數瀏覽器沒有提供有關錯誤訊息的太多資訊。Firefox至少為您提供了一些入門指導,但它仍然相當模糊。別擔心 – 我們將在本文的其餘部分清除任何混淆。

為什麼會出現“此站點無法提供安全連線”錯誤

現在,只是因為你看到一個關於網站安全警告並不一定意味著該網站是不是安全。雖然這是一種可能性,但它通常更溫和。常見原因分為兩類:Web瀏覽器問題和站點或系統配置問題。

如果您在一個瀏覽器中看到錯誤,但該頁面在其他瀏覽器中執行良好,則表明您的瀏覽器(通常是快取)存在問題。如果錯誤出現在所有瀏覽器中,您就知道問題出在您使用的計算機或網站本身。

讓我們探討此錯誤訊息的最常見原因:

  • 您的本地環境沒有SSL證書。如果您使用的是MAMP等本地環境,則您的站點可能沒有證書。這應該是故障排除的第一步,因為這可能是導致問題的原因。
  • 瀏覽器中過時的SSL快取。這是比較流行的原因之一。Web瀏覽器將SSL證書儲存在快取中,就像其他資料一樣。這意味著他們不必每次訪問站點時都驗證證書,從而加快了瀏覽速度。但是,如果您的SSL證書發生更改並且瀏覽器仍在載入較舊的快取版本,則可能會導致彈出此錯誤。
  • 計算機上的時間和日期設定不正確。如果您的計算機設定了錯誤的時間和日期,則可能會導致SSL證書身份驗證出現問題。幸運的是,這是一個相當容易的修復。
  • 流氓瀏覽器擴充套件。錯誤配置或行為不當的瀏覽器擴充套件也可能導致證書身份驗證問題。雖然這可能 是惡意的,但更多時候是簡單的編碼錯誤。
  • 過分熱情的防毒軟體。同樣,實時掃描您的連線的防病毒軟體有時會丟擲此訊息。這可能是由於編碼錯誤或僅僅是過於激進的設定。
  • 無效或過期的SSL證書。如果您網站的SSL證書已過期或無效,您將看到此錯誤。證書需要定期更新。

在下一節中,我們將介紹如何解決MAMP安全連線錯誤。

使用MAMP時如何修復“此站點無法提供安全連線”錯誤

正如我們之前提到的,對於MAMP安裝,此問題最有可能的罪魁禍首是您的本地主機環境缺少 SSL 證書。幸運的是,使用OpenSSL建立一個相對容易,這樣做應該可以解決您的錯誤訊息。以下說明是為macOS使用者設計的,但它們也應該適用於Linux。

步驟 1:建立SSL根證書

首先,您需要建立一個SSL根證書。這使您能夠為您的域簽署額外的證書。

首先,在您的計算機上開啟終端應用程式並輸入以下命令:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
openssl genrsa -des3 -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048
openssl genrsa -des3 -out rootCA.key 2048

此命令生成檔名為rootCA.key的RSA-2048金鑰。您將使用此金鑰建立根證書。系統會要求您輸入密碼 – 記下它,因為在生成證書時您需要它來使用金鑰。

接下來,您可以輸入以下命令來建立根SSL證書:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

證書將儲存到rootCA.pem檔案中。“1024”代表證書保持有效的天數——您可以將其更改為您想要的任何內容。

步驟 2:信任根證書

準備好根證書後,下一步是告訴作業系統 (OS) 信任它。這可確保預設情況下使用它建立的任何未來證書都是可信的,從而節省您的時間。

為此 ,請在macOS上開啟Keychain Access應用程式,然後單擊 側欄中的系統證書。接下來,選擇File > Import Items,然後選擇上一步中建立的rootCA.pem證書。

匯入後,雙擊它並將使用此證書時的 選項更改為Always Trust。現在您已準備好為您的域建立SSL證書。

步驟 3:建立OpenSSL配置檔案

接下來,您需要建立一個配置檔案,其中包含您在建立證書時要使用的OpenSSL設定。首先,建立一個名為server.csr.cnf的檔案。它應該包含以下內容:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
emailAddress=hello@example.com
CN = localhost
Save this file, then create another one named
[req] default_bits = 2048 prompt = no default_md = sha256 distinguished_name = dn [dn] C=US ST=RandomState L=RandomCity O=RandomOrganization OU=RandomOrganizationUnit emailAddress=hello@example.com CN = localhost Save this file, then create another one named
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=US
ST=RandomState
L=RandomCity
O=RandomOrganization
OU=RandomOrganizationUnit
emailAddress=hello@example.com
CN = localhost
Save this file, then create another one named

v3.ext

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
, and add the following:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
, and add the following: authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = localhost
, and add the following:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost

接下來,您將生成一個金鑰來簽署您的域SSL證書。

步驟 4:為本地主機生成證書金鑰

返回終端應用程式並輸入以下命令為localhost建立一個金鑰:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key -config <( cat server.csr.cnf )

金鑰儲存在server.key檔案中。

步驟 5:為您的本地域建立SSL證書

我們快完成了!現在是時候為localhost生成SSL證書了。您可以通過在終端應用程式中輸入以下命令來執行此操作:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

此命令建立一個名為server.crt的證書檔案。

步驟 6:啟用localhost的SSL證書

最後,將 前兩步中建立的server.keyserver.crt檔案複製到您的MAMP安裝資料夾中。您現在可以在本地安裝的WordPress上啟用HTTPS,而不會收到“此站點無法提供安全連線”錯誤。

小結

MAMP中的“此站點無法提供安全連線”訊息不僅會阻止訪問您的站點,而且還會由於潛在的安全隱患而令人擔憂。幸運的是,它通常是良性的並且相對容易修復。

此錯誤通常表示您的瀏覽器配置或站點上的SSL證書有問題(在localhost 上,這通常意味著您根本沒有)。修復它只涉及使用OpenSSLlocalhost生成SSL證書。按照上面列出的提示操作,您應該能夠快速解決此錯誤,以便您可以重新開始工作。

評論留言