解決CDN加速502 Error|SSL問題|瀏覽器鏈接左側(cè)顯示“您與此網(wǎng)站之間建立的連接并非完全安全”
解決CDN加速502 Error|SSL問題|瀏覽器鏈接左側(cè)顯示“您與此網(wǎng)站之間建立的連接并非完全安全”環(huán)境CDN加速,SSL證書認證,WordPress,寶塔面板在本文中將會解決的問題無限重新定向 SSL證書配置正確但沒有生效 SSL證書生效但顯示“您與此網(wǎng)站之間建立的連接并非
解決CDN加速502 Error|SSL問題|瀏覽器鏈接左側(cè)顯示“您與此網(wǎng)站之間建立的連接并非完全安全”環(huán)境CDN加速,SSL證書認證,WordPress,寶塔面板在本文中將會解決的問題無限重新定向 SSL證書配置正確但沒有生效 SSL證書生效但顯示“您與此網(wǎng)站之間建立的連接并非
CDN加速,SSL證書認證,WordPress,寶塔面板
無限重新定向發(fā)生的時候看起來例如下圖:
當(dāng)出現(xiàn)這種情況時,檢查服務(wù)器中是否和CDN同時開啟了強制https或者301重定向問題。
當(dāng)我的博客發(fā)生了這個問題的時候,我糾結(jié)了非常久,但只是因為一個小失誤。
這個博客是使用我自己的實體服務(wù)器搭建的,在搭建時使用了兩個路由器,一個是主路由器,然后從主路由器中扯出一根線連接到Google Wifi然后再由Google Wifi中的Ethernet口再扯一根線到這臺Linux服務(wù)器上,因此存在著三個端口開放規(guī)則!一個是主路由器,一個是Google Wifi,一個是當(dāng)前的Linux服務(wù)器
當(dāng)初我犯這個錯誤的時候什么看起來都沒有問題,自己的SSL證書驗證了很多次都沒有問題,直到最后我才發(fā)現(xiàn)主路由器沒有開放用于SSL驗證的443端口。所以當(dāng)出現(xiàn)配置完全正確,但SSL不生效時請一定先檢查你所有的端口開放規(guī)則!保證443端口暢通無阻!?。?/strong>
這又是一個很常見的問題,并不是SSL證書安裝完就可以完事的,關(guān)于這兩個問題,是可以一起說的,倒不如說他們是因果關(guān)系。
https可以訪問,WordPress頁面也出來了,但是瀏覽器鏈接左側(cè)顯示“您與此網(wǎng)站之間建立的連接并非完全安全”,并且WordPress的樣式丟失了。
那么我這里利用Chrome瀏覽器舉個栗子,在你的頁面中點擊鼠標右鍵,在菜單中選擇?檢查,或者使用組合鍵Ctrl+Shift+I
在右側(cè)中找到Console(控制臺),點擊進去之后你應(yīng)該可以看到如下圖所示的樣子:
圖示1
并且你的網(wǎng)頁鏈接左側(cè)顯示(看到證書也是有效的):
圖示2
在圖示1中可以看出請求的CSS還是http開頭,就是因為調(diào)用了http,因此才會不完全安全,哪怕你擁有SSL證書,而事實也是如此。
在圖示1中也可以看出請求的正式CSS格式的樣式文件,但是被瀏覽器阻攔(Block)了,這時需要對WordPress進行以下操作。
以CentOS為例,首先使用Linux指令cd
指定到WordPress的安裝目錄(如果你是寶塔那就簡單多了
假如我的根目錄在/xxx/wwwroot/pzo.cc,則使用指令
cd /xxx/wwwroot/pzo.cc
基礎(chǔ)指令我就不多說了。在你的根目錄下輸入
vi wp-config.php
會打開一個文檔,如下圖示:
點擊i進入insert模式,在圖示中的
* @package WordPress
*/
下方加上:
$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
之后按ESC鍵,輸入?:wq?保存并退出。
隨后我們繼續(xù)使用指令cd wp-includes/
從當(dāng)前的根目錄繼續(xù)打開wp-includes目錄,使用指令vi functions.php
編輯 functions.php文件
找到
require( ABSPATH . WPINC . '/option.php' );
然后在它的下方添加
add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2);
function agnostic_script_loader_src($src, $handle) {
return preg_replace('/^(http|https):/', '', $src);
}
add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2);
function agnostic_style_loader_src($src, $handle) {
return preg_replace('/^(http|https):/', '', $src);
}
隨后按ESC鍵,輸入?:wq?保存并退出。
自此問題應(yīng)當(dāng)被修復(fù):D
如果出現(xiàn)這個問題則是你太急著弄SSL證書了,在Https生效之前就在站點設(shè)置中將自己的URL換到了https。
鑒于無法從后臺登錄修改,我比較建議使用數(shù)據(jù)庫管理軟件直接修改,這里示范使用PhpMyAdmin
打開搭建WordPress時使用的數(shù)據(jù)庫,看起來應(yīng)該是這樣的:
我們打開wp_options這個表,在里面找到option_name列中的siteurl和home,在后面將你手賤加上去的https先暫且改到http,待https配置完成后再改到https!
至此問題解決。
在CDN的源站設(shè)置中的回源協(xié)議從HTTPS改為HTTP,源站地址使用數(shù)字外網(wǎng)IP。
在管理域名的DNS中設(shè)置解析CNAME至你的數(shù)字外網(wǎng)IP至CDN。
至此問題解決。
版權(quán)所有:重慶安菲科技有限公司