用 NGINX 配置一個 WebDAV Server

前言

  1. 用 NGINX 配置一個 WebDAV Server
  2. 使用者可透過帳號密碼登入存取指定資料夾



環境

GCP Instance
Ubuntu 18.04
NGINX
Root




安裝

apt-get install nginx-full



開啟 gzip

頻寬有限, 機器速度較快, 開啟 gzip 讓 server 回覆的資料都先經過壓縮, 減少經由網路傳送的資料大小

sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.conf

/gzip_/: 尋找含有 /gzip_/ 的行數
s/#\ //g: 將 # 替換成 空白

意思就是 uncomment 掉 gzip 啦




配置 WebDAV Server

建立檔案

vim /etc/nginx/conf.d/webdav.conf

配置檔案

server {
listen 80;
listen [::]:80;

server_name yourDomain;

# 使用者認證
auth_basic realm_name;
# 使用者身份檔案位置
auth_basic_user_file /etc/nginx/.passwords.list;

# dav 允許的使用方法
dav_methods PUT DELETE MKCOL COPY MOVE;
# 在目前的範圍內啟動支持特定的 WebDAV 方法, PROPFIND 可參考 https://docs.oracle.com/cd/E19857-01/819-0824/agdav.html
dav_ext_methods PROPFIND OPTIONS;

# 在此資料夾內, 新建的文件以及資料夾的權限, 若無特別設定, 預設為 user:rw。 若以指定 all 及 group 權限, 則 user 可忽略
dav_access user:rw group:rw all:r;

# 臨時中轉目錄
client_body_temp_path /tmp/nginx/client-bodies;

# 上傳檔案最大限制, 0 為不限制
client_max_body_size 0;

# 允許在現有目錄中增加檔案時, 如果指定的資料夾不存在, 自動創建
create_full_put_path on;
}



建立使用者

  • 輸入 user
    echo -n 'userName:' | sudo tee -a /etc/nginx/.passwords.list; 
    印出使用者名稱, tee 會將使用者名稱印在螢幕上以及導入 /etc/nginx/.passwords.list 檔案, -a = append

  • 輸入密碼
    openssl passwd -apr1 | sudo tee -a /etc/nginx/.passwords.list;
    使用 openssl passwd-apr1 規則來將密碼明文變成密文, tee 印出加密後密碼以及導入 /etc/nginx/.passwords.list 檔案, -a = append



大功告成!

建立紀錄指標並基於紀錄指標建立警告 Google Cloud Pub/Sub 初探 - Command Line

留言

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×