1. 程式人生 > >11.18-11.21 Apache的用戶認證,域名跳轉,Apache訪問日誌

11.18-11.21 Apache的用戶認證,域名跳轉,Apache訪問日誌

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

11.18Apache的用戶認證

技術分享圖片

把相應參數copy進去第二個虛擬主機(為了不影響默認主機使用,所以選擇了第二個虛擬主機)

<Directory /data/wwwroot/www.123.com> //指定認證的目錄

AllowOverride AuthConfig //這個相當於打開認證的開關

AuthName "123.com user auth" //自定義認證的名字,作用不大

AuthType Basic //認證的類型,一般為Basic,其他類型阿銘沒用過

AuthUserFile /data/.htpasswd //指定密碼文件所在位置

require valid-user //指定需要認證的用戶為全部可用用戶

</Directory>

[root@Centos7-01 wwwroot]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

技術分享圖片

修改後

技術分享圖片

配置完成後,需要創建密碼文件,

# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming

上條命令的解釋:

htpasswd工具,-c創建,-m MD5加密,後接密碼文件./htpasswd 再接用戶。

[root@Centos7-01 wwwroot]# ls /data/.htpasswd

/data/.htpasswd

可以cat密碼文件,是一串暗碼,是因為被MD5加密過。

[root@Centos7-01 wwwroot]# cat /data/.htpasswd

aming:$apr1$5mmrMCOX$E0QY/azyYojxZy0jTlsxt1

*註意:如果需要再次增加用戶,取消-c 因為-c是創建和生成,如果使用了-c會被覆蓋掉。

[root@Centos7-01 wwwroot]# /usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd zhangsan

/usr/

設置完密碼後,

重新加載配置-t , graceful

#curl檢視信息,401表示此網頁需要驗證。

技術分享圖片

配置完成後,需要到真實機windows修改hosts文件(C:\Windows\System32\drivers\etc),把網址添加進去

技術分享圖片

技術分享圖片

登錄正確賬號密碼則可驗證成功

截圖

如果想單獨一個文件進行認證,可以這樣做。

技術分享圖片

#vim /data/wwwroot/111.com/123.php

重新加載配置-t , graceful

完成後, 登錄111.com/123.php 就需要認證,而111.com就不需要認證。


11.19 11.20 域名跳轉

需求,把123.com域名跳轉到www.123.com,配置如下:

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.123.com"

ServerName www.123.com

ServerAlias 123.com

<IfModule mod_rewrite.c> //需要mod_rewrite模塊支持

RewriteEngine on //打開rewrite功能

RewriteCond %{HTTP_HOST} !^www.123.com$ //定義rewrite的條件,主機名(域名)不是www.123.com滿足條件

RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定義rewrite規則,當滿足上面的條件時,這條規則才會執行

</IfModule>

</VirtualHost>

/usr/local/apache2/bin/apachectl -M|grep -i rewrite //若無該模塊,需要編輯配置文件httpd.conf,刪除rewrite_module (shared) 前面的#

curl -x127.0.0.1:80 -I 123.com //狀態碼為301


11.21 配置訪問日誌

訪問日誌記錄用戶的每一個請求

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

把虛擬主機配置文件改成如下:

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.123.com"

ServerName www.123.com

ServerAlias 123.com

CustomLog "logs/123.com-access_log" combined

</VirtualHost>

重新加載配置文件 -t,graceful

curl -x127.0.0.1:80 -I 123.com

tail /usr/local/apache2.4/logs/123.com-access_log


11.18-11.21 Apache的用戶認證,域名跳轉,Apache訪問日誌