nginx代理文件目錄、下載站點(diǎn)方式
前言
Nginx默認(rèn)是不允許列出整個(gè)目錄瀏覽下載。
如果只是單純的往html文件中添加壓縮文件,網(wǎng)頁就會(huì)報(bào)錯(cuò),那該怎么才能達(dá)到一堆壓縮文件都顯示在網(wǎng)頁呢
一、訪問站點(diǎn)配置
先上配置再解釋
location /mylog {
autoindex on;
charset utf-8;
autoindex_exact_size off;
autoindex_localtime off;
auth_basic "Auth access Blog Input your Passwd!";
auth_basic_user_file /usr/local/mdtassistant/nginx/users;
alias /usr/local/mdtassistant/version;
}- 效果

- 帶密碼效果

解釋如下
- autoindex on; 模塊顯示文件
- charset utf-8; 文件編碼
- autoindex_exact_size off | on 默認(rèn)為on, 顯示出?件的確切??,單位是bytes; 修改為off,顯示出?件的?概??,單位是kB或者M(jìn)B或者GB
- autoindex_localtime on | off 默認(rèn)為off,顯示的?件時(shí)間為GMT時(shí)間;修改為on, 顯示的?件時(shí)間為?件的服務(wù)器時(shí)間(這個(gè)是文件上傳的時(shí)間)
那 這兩個(gè)干嘛的
auth_basic “Auth access Blog Input your Passwd!”; auth_basic_user_file /usr/local/mdtassistant/nginx/users;
訪問時(shí)輸入密碼的
二、添加登錄權(quán)限功能
1.密碼生成
使用htpasswd工具生成密碼。
如果沒有htpasswd工具,可以先進(jìn)行安裝,安裝命令:
yum -y install htpasswd
如果這個(gè)安裝不了就裝下面這個(gè)
yum install httpd-tools
密碼生成命令格式:htpasswd -c 存放用戶名密碼的文件路徑 用戶名
htpasswd -c /usr/local/nginx/passwd/users lc

提示輸入密碼,輸入兩次

然后會(huì)生成一個(gè)加密串,這樣就好了

2.配置nignx
auth_basic "Auth access Blog Input your Passwd!"; auth_basic_user_file /usr/local/mdtassistant/nginx/users;
auth_basic_user_file 密碼文件存放位置
三、路徑加 / 如何區(qū)分
- 如果proxy_pass末尾有斜杠/,proxy_pass不拼接location的路徑
- 如果proxy_pass末尾無斜杠/,proxy_pass會(huì)拼接location的路徑
1.proxy_pass末尾有斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/;
}
- 請(qǐng)求地址:http://localhost/api/test
- 轉(zhuǎn)發(fā)地址:http://127.0.0.1:8000/test
2.proxy_pass末尾無斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000;
}- 請(qǐng)求地址:http://localhost/api/test
- 轉(zhuǎn)發(fā)地址:http://127.0.0.1:8000/api/test
3.proxy_pass包含路徑,且末尾有斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/user/;
}- 請(qǐng)求地址:http://localhost/api/test
- 轉(zhuǎn)發(fā)地址:http://127.0.0.1:8000/user/test
4.proxy_pass包含路徑,末尾無斜杠
location /api/ {
proxy_pass http://127.0.0.1:8000/user;
}- 請(qǐng)求地址:http://localhost/api/test
- 轉(zhuǎn)發(fā)地址:http://127.0.0.1:8000/usertest
四、文件路徑 alias與root區(qū)別
- root的處理結(jié)果是:root路徑+location路徑
- alias的處理結(jié)果是:使用alias路徑替換location路徑
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx利用Lua+Redis實(shí)現(xiàn)動(dòng)態(tài)封禁IP的方法
在站點(diǎn)遇到攻擊且無明顯攻擊特征,造成站點(diǎn)訪問慢,nginx不斷返回502等錯(cuò)誤時(shí),可利用nginx+lua+redis對(duì)該IP進(jìn)行封禁,這篇文章主要給大家介紹了關(guān)于Nginx利用Lua+Redis實(shí)現(xiàn)動(dòng)態(tài)封禁IP的相關(guān)資料,需要的朋友可以參考下2018-12-12
keepalived+nginx實(shí)現(xiàn)網(wǎng)站高可用性
本文主要介紹了keepalived+nginx實(shí)現(xiàn)網(wǎng)站高可用性,包含配置Keepalived實(shí)現(xiàn)雙主熱備集群架構(gòu),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02
全面了解Nginx中的HTTP協(xié)議相關(guān)模塊配置
HTTP的處理是Nginx服務(wù)器的最重要功能,這里我們就帶大家來全面了解Nginx中的HTTP協(xié)議相關(guān)模塊配置,需要的朋友可以參考下2016-07-07
Nginx服務(wù)器中的模塊編寫及相關(guān)內(nèi)核源碼初探
這篇文章主要介紹了Nginx服務(wù)器中的模塊編寫及相關(guān)源碼初探,文中以一個(gè)簡單的Hello world模塊的編寫來深入分析Nginx內(nèi)核所用到的基礎(chǔ)函數(shù),需要的朋友可以參考下2015-12-12
nginx多l(xiāng)ocation配置實(shí)例代碼
公司測試環(huán)境使用nginx部署多個(gè)前端項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于nginx多l(xiāng)ocation配置的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
使用nginx+tomcat+keepalived實(shí)現(xiàn)高可用的詳細(xì)步驟
這篇文章主要介紹了nginx+tomcat+keepalived實(shí)現(xiàn)高可用,包括安裝nginx服務(wù)的步驟,詳細(xì)介紹了安裝keepalived的方法,對(duì)nginx+tomcat+keepalived高可用相關(guān)知識(shí)感興趣的朋友一起看看吧2022-03-03
Nginx rewrite和proxy_pass的區(qū)別及說明
這篇文章主要介紹了Nginx rewrite和proxy_pass的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06

