CentOS6主要使用http2.2版本,CentOS7使用的是http2.4版本,兩個版本之間存在這部分區別,2.2的event模塊是處於測試階段的,2.4的event模塊則是可以正常投入使用的;2.2不支持動態裝卸載模塊,而2.4支持動態裝卸載模塊;
使用CentOS6.7來建立httpd服務,主要實現的功能有:
①建立兩個虛擬主機www1,www2,擁有單獨的錯誤日誌和訪問日誌;
②通過www1的server-status能夠查看狀態信息,但只有link用戶能夠訪問;
③www2設置訪問範圍,允許其他主機訪問,但不允許192.168.1.0/24IP地址訪問;
④爲www2提供https服務;
首先建立兩個虛擬主機,在/etc/httpd/conf.d/下創建兩個片虛擬主機文件,vhosts-www1.conf與
vhosts-www2.conf
書寫片配置文件vhosts-www1.conf的主要配置
如DocmentRoot,ServerName,ErrorLog,CustomLog並設置其server-status的訪問權限,只允許link用戶訪問,創建其根文件系統在/myweb/vhosts/www1下;
片配置文件vhosts-www1.conf
創建www1,錯誤日誌,訪問日誌的對應目錄路徑;使用htpasswd命令創建虛擬用戶密鑰;
-c選項只有在第一次創建虛擬用戶文件時需要,-m選項表示用md5單向加密算法加密;
www1運行結果:
主頁
server-status:
書寫片配置文件vhosts-www2.conf的主要配置:
設置了Order權限,使用telnet進行測試
如:
www2運行結果:
要使用域名的方式訪問時,需要在windows下的hosts配置文件中加一條關於該域名的記錄,
如:
172.16.72.4 www.wujunqi2.com
爲www2虛擬主機設置https服務:
首先在客戶端處生成私鑰,及其請求證書:
使用scp將客戶端請求證書發往私人CA處:
安裝mod_ssl,使用yum install mod_ssl
mod_ssl是https使用的前提
構建私人CA:
將私鑰以及公鑰放在指定路徑下
私鑰:/etc/pki/CA/private/cakey.pem
公鑰:/etc/pki/CA/cacert.pem
創建兩個私人CA需要的配置文件在/etc/pki/CA下
echo 01 > serial
touch index.txt
使用scp將生成的客戶端證書發送給客戶端
客戶端:
將服務器端私人CA的公鑰到處到本地windows下,並將其導入到瀏覽器中的證書文件中
如:谷歌
客戶端下/etc/httpd/conf.d/ssl.conf
設置客戶端的私鑰以及認證完後的證書存放路徑,分別用指令SSLCertificateKeyFile和
SSLCertificateFile;
https設置結果:
使用CentOS7.0建立httpd服務,主要實現的功能有:
①建立兩個虛擬主機www1,www2,擁有單獨的錯誤日誌和訪問日誌;
②通過www1的server-status能夠查看狀態信息,但只有link用戶能夠訪問;
③www2設置訪問範圍,允許其他主機訪問,但不允許192.168.1.0/24IP地址訪問;
④爲www2提供https服務;
在centos7的/etc/httpd/conf.d下創建片配置文件vhosts-www1.conf與vhosts-www2.conf
vhosts-www1.conf:
CentOS7的httpd是2.4版本的,該版本下的片配置文件的書寫大致相同,不同在於,CentOS6.7對於訪問範圍若不指定時默認是全部,而CentOS7對於訪問範圍不指定時默認的就是沒有,這樣所有的IP都無法訪問該網頁;
Require all granted:全部IP都可以訪問;
Require all denied:全部IP都不可以訪問;
設置服務器狀態的訪問權限也同CentOS6一樣;
創建根目錄,並在根目錄中加入網頁文件;
創建錯誤日誌以及訪問日誌的目錄:
重載httpd配置文件:
systemctl reload httpd.service
www1運行結果:
主頁
server-status
vhosts-www2.conf:
同時控制主機訪問以及拒絕時,需要將其放置在<RequireAll></RequireAll>中進行設置;
創建根目錄以及日誌目錄:
httpd -t驗證語法是否正確:
重載httpd配置文件:
systemctl reload httpd.service
www2運行結果:
www2設置https:
創建私人CA:
客戶端配置:
yum install httpd
yum install mod_ssl
vim /etc/httpd/conf.d/ssl.conf
mkdir -p /myweb/vhosts/www2
在該目錄下創建index.html文件;
配置該客戶端的私鑰,並生成證書請求文件
將httpd.csr文件發往服務器端,生成證書
將該證書發往客戶端,並將服務器端的CA公鑰放在windows下,將其導入到要訪問的瀏覽器的證書中;
客戶端:
瀏覽器: