11.18Apache用戶認(rèn)證
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的鐵西網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!注意:本章使用瀏覽器進(jìn)行檢測的前提是在物理機(jī)hosts文件添加虛擬機(jī)IP和虛擬主機(jī)域名。
配置用戶認(rèn)證 編輯虛擬主機(jī)配置文件“httpd-vhosts.conf”。[root@adailinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf ……
[root@adailinux~]#/usr/local/apache2.4/bin/htpasswd-c-m/data/.htpasswdadai Newpassword: Re-typenewpassword: Addingpasswordforuseradai [root@adailinux~]#cat/data/.htpasswd adai:$apr1$F7lSqIT0$hEgMT0Nhuxh6.BpmLvi57/
即,在“/data/.htpasswd”為用戶adai(自動(dòng)創(chuàng)建)創(chuàng)建一個(gè)使用MD5算法加密的密碼文件。
注意:只有在第一次創(chuàng)建該文件時(shí)加-c選項(xiàng)。
[root@adailinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@adailinux~]#/usr/local/apache2.4/bin/apachectlgraceful 測試
[root@adailinux~]#curl-x192.168.8.131:80111.com-I HTTP/1.1401Unauthorized Date:Mon,31Jul201701:42:50GMT Server:Apache/2.4.27(Unix)PHP/5.6.30 WWW-Authenticate:Basicrealm="111.comuserauth" Content-Type:text/html;charset=iso-8859-1
此時(shí)提示狀態(tài)碼為“401”,說明當(dāng)前所訪問的內(nèi)容需要進(jìn)行用戶認(rèn)證。
使用用戶&密碼訪問:
[root@adailinux~]#curl-x192.168.8.131:80-uadai:123456111.com-I HTTP/1.1200OK Date:Mon,31Jul201702:18:21GMT Server:Apache/2.4.27(Unix)PHP/5.6.30 X-Powered-By:PHP/5.6.30 Content-Type:text/html;charset=UTF-8
狀態(tài)碼“200”,即訪問成功。
用瀏覽器測試:
輸入用戶名“adai”和密碼后即可訪問:
htpasswd命令htpasswd命令是Apache的Web服務(wù)器內(nèi)置工具,用于創(chuàng)建和更新儲(chǔ)存用戶名、域和用戶基本認(rèn)證的密碼文件。
語法:htpasswd[option][參數(shù)]
Options:
-c:=create,創(chuàng)建一個(gè)加密文件
-n:不更新加密文件,只將更新后的用戶名密碼顯示在屏幕上
-m:使用MD5算法對(duì)密碼進(jìn)行加密(默認(rèn))
-d:使用CRYPT算法對(duì)密碼進(jìn)行加密
-p:不對(duì)密碼進(jìn)行加密,即明文密碼
-s:使用SHA算法對(duì)密碼進(jìn)行加密
-b:在命令行一并輸入用戶名和密碼,而不是根據(jù)提示輸入密碼
-D:刪除指定用戶
對(duì)網(wǎng)站中指定文件設(shè)置用戶認(rèn)證!
虛擬主機(jī)配置[root@adailinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf
說明:注釋掉
[root@adailinux~]#curl-x192.168.8.131:80111.com welcometo111.com [root@adailinux~]#curl-x192.168.8.131:80111.com/123.php-I HTTP/1.1401Unauthorized Date:Mon,31Jul201703:04:31GMT Server:Apache/2.4.27(Unix)PHP/5.6.30 WWW-Authenticate:Basicrealm="111.comuserauth" Content-Type:text/html;charset=iso-8859-1
說明:此時(shí)可以自由訪問“111.com”指定的目錄,但是當(dāng)訪問目錄下的“123.php”文件時(shí)會(huì)報(bào)錯(cuò):401,即,需要進(jìn)行用戶認(rèn)證。
使用指定用戶名&密碼訪問:
[root@adailinux~]#curl-x192.168.8.131:80-uadai:123456111.com/123.php welcomto123file 成功!
使用瀏覽器檢測:
訪問“111.com”:
訪問"111.com/123.php":
輸入指定用戶“adai”及密碼即可訪問:
11.19-11.20域名跳轉(zhuǎn) 域名跳轉(zhuǎn)分類及區(qū)別 種類:301表示永久跳轉(zhuǎn);302表示臨時(shí)跳轉(zhuǎn)。
區(qū)別: 使用效果不同 302跳轉(zhuǎn)是暫時(shí)的跳轉(zhuǎn),搜索引擎會(huì)抓取新的內(nèi)容而保留舊的網(wǎng)址。因?yàn)榉?wù)器返回302代碼,搜索引擎認(rèn)為新的網(wǎng)址只是暫時(shí)的。 301重定向是永久的重定向,搜索引擎在抓取新內(nèi)容的同時(shí)也將舊的網(wǎng)址替換為重定向之后的網(wǎng)址。 SEO使用方式不同SEO(SearchEngineOptimization)搜索引擎優(yōu)化,在了解搜索引擎自然排名機(jī)制的基礎(chǔ)上,對(duì)網(wǎng)站進(jìn)行內(nèi)部及外部的調(diào)整優(yōu)化,改進(jìn)網(wǎng)站在搜索引擎中的關(guān)鍵詞自然排名,獲得更多流量,從而達(dá)成網(wǎng)站銷售及品牌建設(shè)的預(yù)期目標(biāo)。
域名跳轉(zhuǎn)配置 配置虛擬主機(jī)配置文件:httpd-vhosts.conf。[root@adailinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf ……
[root@adailinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@adailinux~]#/usr/local/apache2.4/bin/apachectlgraceful [root@adailinux~]#/usr/local/apache2.4/bin/apachectl-M
在此檢查Apache是否加載了虛擬主機(jī)配置中調(diào)用的rewrite模塊,如果沒有加載,需要編輯Apache配置文件“httpd.conf”:
[root@adailinux~]#vim/usr/local/apache2.4/conf/httpd.conf …… LoadModulerewrite_modulemodules/mod_rewrite.so LoadModulephp5_modulemodules/libphp5.so #LoadModulephp7_modulemodules/libphp7.so
即,去掉注釋符號(hào)“#”,加載rewrite模塊。
檢測[root@adailinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@adailinux~]#/usr/local/apache2.4/bin/apachectlgraceful [root@adailinux~]#/usr/local/apache2.4/bin/apachectl-M|greprewrite rewrite_module(shared)
使用curl檢測:
[root@adailinux~]#curl-x192.168.8.131:80www.example.com-I HTTP/1.1301MovedPermanently Date:Mon,31Jul201707:17:37GMT Server:Apache/2.4.27(Unix)PHP/5.6.30 Location:http://111.com/ Content-Type:text/html;charset=iso-8859-1
此時(shí),狀態(tài)碼為301,即設(shè)定了域名永久跳轉(zhuǎn)!
在瀏覽器進(jìn)行檢測時(shí),訪問“www.example.com”會(huì)直接跳轉(zhuǎn)到“111.com”。
11.21Apache訪問日志日志文件所在位置:
[root@adailinux~]#ls/usr/local/apache2.4/logs 111.com-access_logabc.com-access_logaccess_loghttpd.pid 111.com-error_logabc.com-error_logerror_log 自定義日志格式 系統(tǒng)自帶日志格式:
LogFormat"%h%l%u%t"%r"%>s%b"%{Referer}i""%{User-Agent}i""combined LogFormat"%h%l%u%t"%r"%>s%b"common #h表示host來源IP,l表示login用戶,u表示user用戶密碼,t表示time時(shí)間,r表示request(行為),s表示status狀態(tài)碼,b表示byte大小 #user-agent:用戶代理 #referer:跳轉(zhuǎn)到當(dāng)前位置的上一個(gè)網(wǎng)址(即:提供當(dāng)前IP的網(wǎng)站)
即:有combine和common兩種格式,默認(rèn)使用common模式。
配置日志格式編輯虛擬主機(jī)配置文件“httpd-vhosts.conf”:
[root@adailinux~]#vim/usr/local/apache2.4/conf/extra/httpd-vhosts.conf
說明:將日志文件后面原有common改為combined。
重新加載:
[root@adailinux~]#/usr/local/apache2.4/bin/apachectl-t SyntaxOK [root@adailinux~]#/usr/local/apache2.4/bin/apachectlgraceful
樣式:
[root@adailinux~]#cat/usr/local/apache2.4/logs/111.com-access_log
Apache虛擬主機(jī)開啟PHP短標(biāo)簽在虛擬主機(jī)配置文件中加入如下內(nèi)容即可:
php_admin_flagshort_open_tagon 短標(biāo)簽作用
如果不開啟短標(biāo)簽,服務(wù)器將無法解析如下形式的PHP文件:
phpinfo() ?>
而只能解析:
這種形式的PHP文件。