Apache用戶認證、域名跳轉、Apache訪問日誌

Apache用戶認證

打開網站直接彈出輸入用戶名密碼,正確了之後才能查看網站,這個叫Apache用戶認證。

編輯配置文件(因爲我們使用的是apache虛擬主機,所以進入虛擬主機的配置)
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

在配置文件裏添加如下段
<Directory /data/wwwroot/yy.com> //指定認證的目錄
AllowOverride AuthConfig //這個相當於打開認證的開關
AuthName "yy.com user auth" //自定義認證的名字,作用不大
AuthType Basic //認證的類型,一般爲Basic,
AuthUserFile /data/.htpasswd //指定密碼文件所在位置
require valid-user //指定需要認證的用戶爲全部可用用戶
</Directory>

Apache用戶認證、域名跳轉、Apache訪問日誌

創建密碼文件以及用戶和密碼
使用工具htpassswd進行創建,-c爲創建,-m爲MD5加密,創建一個kjj用戶
/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd kjj

New password: 輸入密碼
Re-type new password: 確認密碼
Adding password for user kjj 提示增加成功

Apache用戶認證、域名跳轉、Apache訪問日誌

查看已經創建密碼文件(密碼是加密的)
cat /data/.htpasswd

Apache用戶認證、域名跳轉、Apache訪問日誌

更改完成後不要忘記檢查配置文件是否正確以及重新加載配置文件
/usr/local/apache2.4/bin/apachectl -t 檢查文件是否正確

/usr/local/apache2.4/bin/apachectl graceful 重新加載配置文件

Apache用戶認證、域名跳轉、Apache訪問日誌

我們使用瀏覽器進行驗證

Apache用戶認證、域名跳轉、Apache訪問日誌

使用curl進行測試密碼是否成功設置,-I只顯示請求頭信息,-u設置服務器的用戶和密碼
-u指定用戶和密碼,輸入用戶kjj,密碼147258,提示200,表示正常訪問
curl -x192.168.71.131:80 -ukjj:147258 111.com -I

Apache用戶認證、域名跳轉、Apache訪問日誌

針對單個的文件進行用戶認證
有時候我們還會有一個只對單個文件進行認證。和前面的操作幾乎一樣,但是唯一不同的就會如下標出的位置。
編輯配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf hmy.php是需要認證的文件

 <FilesMatch hmy.php>
        AllowOverride AuthConfig
        AuthName "yy.com user auth"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </FilesMatch>

Apache用戶認證、域名跳轉、Apache訪問日誌

在指定的目錄下新建一個hmy.php進行測試
vim /data/wwwroot/yy.com/hmy.php

添加如下內容
<?php
echo "I LOVE YOU.php"; 內容隨便寫,測試而已

Apache用戶認證、域名跳轉、Apache訪問日誌

更改完成後記得檢查配置文件是否正確以及重新加載配置文件(養成好習慣)
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful

Apache用戶認證、域名跳轉、Apache訪問日誌

我們訪問一下指定文件hmy.php

Apache用戶認證、域名跳轉、Apache訪問日誌


域名跳轉

編輯虛擬主機配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

在配置文件裏添加以下內容
<VirtualHost :80>
DocumentRoot "/data/wwwroot/yy.com"
ServerName kjj.com
ServerAlias www.kjj.com www.hmy.com
<IfModule mod_rewrite.c> #需要mod_rewrite模塊支持
RewriteEngine on #打開rewrite功能
RewriteCond %{HTTP_HOST} !^kjj.com$ #定義rewrite的條件,主機名(域名)不是kjj.com 的滿足條件
RewriteRule ^/(.
)$ http://kjj.com/$1 [R=301,L] #定義rewrite規則,當滿足上面的條件時,這條規則纔會執行,跳轉至kjj.com,301表示永久跳轉
</IfModule>
ErrorLog "logs/yy.com-error_log"
CustomLog "logs/yy.com-access_log" common
</VirtualHost>

Apache用戶認證、域名跳轉、Apache訪問日誌

更改完成後記得檢查配置文件是否正確以及是否加載rewrite模塊,重新加載apache
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl -M |grep rewrite
/usr/local/apache2.4/bin/apachectl graceful

Apache用戶認證、域名跳轉、Apache訪問日誌

如果沒有加載rewrite模塊,那麼需要在配置文件里加載
vim /usr/local/apache2.4/conf/httpd.conf

打開配置文件後搜索關鍵字:rewrite 找到 LoadModule rewrite_module modules/mod_rewrite.so 將這一行前面的#號去掉即可。

Apache用戶認證、域名跳轉、Apache訪問日誌

使用curl進行測試
curl -x192.168.71.131:80 www.hmy.com -I #訪問www.hmy.com

Apache用戶認證、域名跳轉、Apache訪問日誌

301表示永久跳轉成功,Location: http://kjj.com/ 表示跳轉kjj.com成功

狀態403就是 vim /usr/local/apache2.4/conf/httpd.conf 裏的 Require all denied 沒有改成 Require all granted


Apache訪問日誌

訪問日誌記錄用戶的每一個請求
Apache日誌的存放地址(apache默認日誌存放目錄)
ls /usr/local/apache2.4/logs/

Apache用戶認證、域名跳轉、Apache訪問日誌

access_log爲訪問日誌,記錄所有對apache服務器進行請求的訪問,它的位置和內容由CustomLog指令控制,LogFormat指令可以用來簡化該日誌的內容和格式

error_log爲錯誤日誌,記錄下任何錯誤的處理請求,它的位置和內容由ErrorLog指令控制,通常服務器出現什麼錯誤,首先對它進行查閱,是一個最重要的日誌文件

日誌的格式
編輯Apache的主配置文件
vim /usr/local/apache2.4/conf/httpd.conf

打開配置文件後搜索關鍵字:LogFormat ,找到如下兩行:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

Apache用戶認證、域名跳轉、Apache訪問日誌

第一行內容的意思
h:來源ip
l:用戶
u:用戶名密碼
t:時間
r:行爲網址
s:狀態碼
b:大小

第二行多了兩個其他選項。
refere:瀏覽器訪問這個網頁前的網址
user-agent:用戶代理,用戶通過什麼東西訪問,比如瀏覽器,curl命令訪問

更改日誌的格式
編輯配置文件
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

打開配置文件後,搜索找到CustomLog,將後面的common更改爲combined
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/aaa.com"
ServerName aaa.com
ServerAlias www.aaa.comwww.123.com
ErrorLog "logs/aaa.com-error_log"
CustomLog "logs/aaa.com-access_log" common #將這裏的common更改爲combined即可
</VirtualHost>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章