搜尋
首頁運維Nginxnginx,apache的alias和認證功能實例分析

首先看一下看下apache 別名怎麼設定的:

複製程式碼 程式碼如下:


documentroot /www/jb51. net/www 這是虛擬主機的根目錄吧,但phpmyadmin 不在這個目錄下,想存取。
servername www.jb51.net
serveralias jb51.net
alias /sdb "/www/public/phpmyadmin/" 就需要別名功能,://www.jb51.net/sdb 這樣就安全多了。

options indexes followsymlinks
allowoverride none
order allow,deny
allow from all

一.apache認證

認證的類型:basic
digest摘要
認證方法:a、容器認證: ……
b、隱藏檔案認證建立.htaccess檔案
方法一、容器認證
a、進入設定檔vi /etc/httpd/conf/httpd.conf
b、設定:大約在531行附近配置如下:

allowoverride none ##不允許通過隱藏認證,即透過容器認證
authtype basic ##認證類型為basic
authname “ajian”#認證名字為ajian
authuserfile /var/www/passwd/pass ##pass 為認證密碼文件,指定密碼文件存放的位置。
require valid-user ##有效用戶(注意大小寫,因為word的原因有些大小寫有變化)
c、 創建目錄mkdir -p /var/www/passwd
進入目錄cd /var /www/passwd
d、建立apache用戶htpasswd -c pass ajian ##pass 為密碼檔案ajian為使用者
更改把pass檔案的使用權給apache: chown apache.apache pass
附:再在pass檔案中新增一個使用者:htpasswd pass tt ##新增一個tt的使用者到pass檔案中
e、重啟服務並測試
方法二、透過隱藏認證
和上面差不多不過設定不一樣
httpd主設定檔

allowoverride authconfig
建立隱藏檔案並放到要通過認證的目錄
eg: vi /var/www/html/mrtg
authtype basic
authname “ajian”
authuserfile /var/www/passwd/pass
require valid-user

#下面是範例

nginx,apache的alias和認證功能實例分析

nginx,apache的alias和認證功能實例分析

nginx,apache的alias和認證功能實例分析

二、nginx 登入認證

nginx 的http auth basic 的密碼是用crypt(3) 加密的。用 apache 的 htpasswd 可以產生密碼檔。
沒有 apache 自行安裝。我安裝的是 apache2,/usr/local/apach2。
cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Enter輸入密碼,-c 表示產生文件,-d 是以 crypt 加密。
vi nginx.conf cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Enter輸入密碼,-c 表示產生文件,-d 是以crypt 加密。 vi nginx.conf 在 nginx.conf 檔案中加入授權聲明。這裡要注意 nginx 0.6.7 開始,auth_basic_user_file 的相對目錄是 nginx_home/conf,先前版本的相對目錄是 nginx_home。

複製程式碼 程式碼如下:


server {
listen 80;
server_name tuan.xywy.com;
root /www /tuangou;
index index.html index.htm index.php;
autoindex on;
auth_basic "input you user name and password";
auth_basic_user_file htpasswd.file;
location ~ . php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_filename /www/tuangou$fastcgi_script_name;
include pagecgi_params; .php;
error_page 403 /404.php;

access_log /logs/tuan_access.log main;
}


#針對目錄的認證,在一個單獨的location中,並且在該location中嵌套一個解釋php的location,否則php檔案不會執行並且會被下載。 auth_basic在嵌套的location之後。


複製程式碼 程式碼如下:

server {

listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on;
location ~ ^/admin/.* {
location ~ \.php$ {
fastcgi_pass 127.0.0.1: 9000;
fastcgi_index index.php;
fastcgi_param script_filename /www/tuangou$fastcgi_script_name;
include fastcgi_params;
}
/www/tuangou/ ;##auth_basic “#auth";
auth_basic_user_file htpasswd.file;
}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;##fastcgi_index index.php;
include fastcgi_params;
}

access_log /logs/tuan_access.log main;
}



三.nginx alias功能設定自動列目錄


複製程式碼 程式碼如下:

#


server {

listen www.jb51.net:88;

server_name www.jb51.net;

autoindex on; //開啟列目錄功能。

# charset gbk;
location /club { 訪問的名稱//www.jb51.net:88/club
alias /www/clublog/club.xywy.com/; 這是伺服器上存放日誌的地方
} 這段意思訪問www.jb51.net:88/club 就看到club目錄的東東了。
location /{
root /www/access;
這段location 也可以沒有www.jb51.net:88 出來的是預設nxing 頁面
# index index.html index.htm index. php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}



上面nginx設定意思是: 訪問http://hou.xywy.com/:88認證進去是預設存取伺服器上/www/access/裡面的目錄,認證進去後url=http: //hou.xywy.com:88/club 就出來/www/clublog/club.xywy.com/ 裡面的目錄的內容了。 ,可能很繞,仔細分析就好了。

root 和 alias 的差別。
最基本的區別:alias指定的目錄是準確的,root是指定目錄的上級目錄,並且該上級目錄要含有location指定名稱的同名目錄。另外,根據前文所述,使用alias標籤的目錄區塊中不能使用rewrite的break。

這樣在看這段就很清楚了,

複製程式碼 程式碼如下:


location /abc/ {
alias /home /html/abc/;
}


在這段設定下,http://test/abc/a.html就指定的是/home/html/abc/ a.html。這段設定也可改成

複製程式碼 程式碼如下:


location /abc/ {
root /home/html/;
}


這樣,nginx就會去找/home/html/目錄下的abc目錄了,得到的結果是一樣的。

但是,如果我把alias的設定改成:

複製程式碼 程式碼如下:


location /abc/ {
alias / home/html/def/;
}


那麼nginx將會從/home/html/def/取數據,這段配置還不能直接使用root配置,如果非要配置,只有在/home/html/下建立一個def->abc的軟link(捷徑)了。

一般情況下,在location /中配置root,在location /other中配置alias是一個好習慣。

以上是nginx,apache的alias和認證功能實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
nginx怎麼啟動nginx怎麼啟動Apr 14, 2025 pm 01:06 PM

問題:如何啟動 Nginx?答案:安裝 Nginx啟動 Nginx驗證 Nginx 是否已啟動探索其他啟動選項自動啟動 Nginx

怎麼查看nginx是否啟動怎麼查看nginx是否啟動Apr 14, 2025 pm 01:03 PM

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

nginx怎麼關閉nginx怎麼關閉Apr 14, 2025 pm 01:00 PM

要關閉 Nginx 服務,請按以下步驟操作:確定安裝類型:Red Hat/CentOS(systemctl status nginx)或 Debian/Ubuntu(service nginx status)停止服務:Red Hat/CentOS(systemctl stop nginx)或 Debian/Ubuntu(service nginx stop)禁用自動啟動(可選):Red Hat/CentOS(systemctl disable nginx)或 Debian/Ubuntu(syst

nginx在windows中怎麼配置nginx在windows中怎麼配置Apr 14, 2025 pm 12:57 PM

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

nginx403錯誤怎麼解決nginx403錯誤怎麼解決Apr 14, 2025 pm 12:54 PM

服務器無權訪問所請求的資源,導致 nginx 403 錯誤。解決方法包括:檢查文件權限。檢查 .htaccess 配置。檢查 nginx 配置。配置 SELinux 權限。檢查防火牆規則。排除其他原因,如瀏覽器問題、服務器故障或其他可能的錯誤。

linux怎麼啟動nginxlinux怎麼啟動nginxApr 14, 2025 pm 12:51 PM

在 Linux 中啟動 Nginx 的步驟:檢查 Nginx 是否已安裝。使用 systemctl start nginx 啟動 Nginx 服務。使用 systemctl enable nginx 啟用在系統啟動時自動啟動 Nginx。使用 systemctl status nginx 驗證啟動是否成功。在 Web 瀏覽器中訪問 http://localhost 查看默認歡迎頁面。

linux怎麼查看nginx是否啟動linux怎麼查看nginx是否啟動Apr 14, 2025 pm 12:48 PM

在 Linux 中,使用以下命令檢查 Nginx 是否已啟動:systemctl status nginx根據命令輸出進行判斷:如果顯示 "Active: active (running)",則 Nginx 已啟動。如果顯示 "Active: inactive (dead)",則 Nginx 已停止。

nginx304錯誤怎麼解決nginx304錯誤怎麼解決Apr 14, 2025 pm 12:45 PM

問題的答案:304 Not Modified 錯誤表示瀏覽器已緩存客戶端請求的最新資源版本。解決方案:1. 清除瀏覽器緩存;2. 禁用瀏覽器緩存;3. 配置 Nginx 允許客戶端緩存;4. 檢查文件權限;5. 檢查文件哈希;6. 禁用 CDN 或反向代理緩存;7. 重啟 Nginx。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),