網頁加密與自動重定向的實現:
當我們在訪問一些網頁的時候,會發現網頁前面加了一把鎖,這是網頁服務端爲了客戶端的信息安全所做的一種加密,
提升了訪問網頁的用戶的信息安全,比如下圖,是在訪問騰訊的QQ郵箱時出現的頁面,重點是域名前的那把鎖,而且
我們也發現,域名自動變爲https://了:
在linux中,我們也可以通過一些軟件和模塊來實現對我們的網頁進行加密保護,接下來簡單介紹一下,如何將域名加密,以及實現
網頁的自動重定向
1.加密
首先,我們需要下載安裝加密模塊:yum install mod_ssl
安裝晚以後,在/etc/httpd/conf.d/目錄下會自動生成一個ssl.conf文件,如圖所示:
systemctl reload httpd 重啓httpd服務
netstat -antlpr | grep httpd 可以看到多了一個443端口:
然後再訪問ip172.25.254.121 如圖所示:
然後點擊提示頁面最下面的 I Understand the Risks ,繼續點擊下面的Add Exception :
彈出下圖提示頁面,先點擊 Get Certificate 下載,然後點擊左下角的Confirm Security Exception :
纔可進入頁面,看到之前的內容:
雖然,我們實現了加密模式和https,但是加密的信息和認證都是系統默認的,那我們如何自己製作屬於自己的認證和密鑰呢:
下載能夠生成認證文件和key的軟件: yum install crypto-utils.x86_64
然後直接輸入命令:genkey www.test.com 進入生成認證文件和密鑰的過程,如圖所示:
點擊Next 進入下一步:
系統在加載:
加載完成後會自動跳轉到選擇密碼位數列表,可自定義選擇,然後點擊Next進行下一步:
需要重新打開一個shell,然後自定義鍵入字符,輸入字符越快,祕密生成越快,當然和你上一步選擇密碼位數正相關:
這一步選擇NO:
選擇Next:
然後輸入認證信息:
整個生成認證證書和密鑰的過程就結束了,然後系統會自動跳轉到shell界面,並把證書和密鑰的路徑顯示出來,
證書路徑:
密鑰路徑:
然後將認證證書和密鑰路徑編輯到文件 /etc/httpd/conf.d/ssl.conf中:
然後重啓服務: systemctl restart httpd
再訪問172.25.254.121,可在網頁中找到自己生成的認證證書和密鑰信息:
2.網頁重定向:在輸入一個域名時自動跳轉到http://模式
先看看之前建立的虛擬主機,在訪問時的狀態,可以和新建立的虛擬主機做一個對比:
沒有鎖的圖標,也沒有自動加上https://
mkdir /var/www/test/study.test.com 先建立一個虛擬主機的測試域名study.test.com
vim /var/www/test/study.test.com/index.html 新建並編輯訪問域名時顯示的內容,其他和本機ip同網段的主機在訪問時
將看到 study !!! 的字符(<h1></h1>爲html語句)
然後在/etc/httpd/conf.d/目錄下新建並編輯文件: vim study.conf 將路徑和授權信息都編輯到文件中,並將認證證書
和密鑰路徑編輯到文件中,文件的意思爲在訪問80默認端口時自動跳轉到443端口,既可實現從http自動跳轉到https://
systemctl restart httpd 重啓httpd服務
然後在ip和本機同網段的主機上設置本地解析,來進行測試,在/etc/hosts文件中將study.test.com編輯進去:
然後訪問 172.25.254.121(本機),可看到自動跳轉到https://模式:
顯示之前編輯的index.conf文件中的內容:
讓http執行簡單的php語句和cgi語句:
1.php語句
在http默認發佈目錄/var/www/html/下新建並用簡單的php語句編寫文件: vim index.php
然後編輯http主配置文件/etc/httpd/conf/httpd.conf index.php寫在默認發佈文件index.html前面:
然後重啓httpd服務: systemctl restart httpd
訪問172.25.254.121(本機),如圖所示即配置完成:
2.cgi語句
mkdir /var/www/html/cgi 新建目錄cgi
vim /var/www/html/cgi/index.cgi 新建並編輯cgi語句文件,意爲在訪問172.25.254.121/cgi/index.cgi時會顯示即時
時間:
chmod + x index.cgi 給文件一個執行權限
然後在/etc/httpd/conf.d/目錄下的 default.conf默認文件中加如cgi語句的信息:
然後查看/var/www/html/cgi/目錄的安全上下文,並更改:
然後重啓服務: systemctl restart httpd
訪問172.25.254.121/cgi/index.cgi時的效果如圖所示: