基于Nginx搭建WebDAV服務的詳細過程
目錄
- 基于Nginx搭建WebDAV服務
- 搭建與配置
- 重新安裝 Nginx
- 添加自定義模塊
- 部署 WebDAV 網站服務
- 應用
title: 基于Nginx搭建WebDAV服務
categories:
- [IT,網絡,服務]
tags:
- WebDAV
- Nginx
comments: true
date: 2022-11-09 17:19:46
description:
基于Nginx搭建WebDAV服務
在搭建 Joplin 筆記服務的時候,發現了可以通過 WebDAV 服務來實現云筆記的功能,所以本篇就來介紹一下,怎么快速搭建 WebDAV 服務。
WebDAV (Web-based Distributed Authoring and Versioning) 一種基于 HTTP 1.1協議的通信協議。它擴展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標準方法以外添加了一些新的方法,使應用程序可對[Web Server](https://baike.baidu.com/item/Web Server/9306055?fromModule=lemma_inlink)直接讀寫,并支持寫文件鎖定(Locking)及解鎖(Unlock),還可以支持文件的版本控制。
從我的角度,簡單地理解為,類似于FTP服務,提供網絡文件交互服務。可以使用用戶名和密碼來控制訪問,通過特定的客戶端,可以直接存儲、下載、編輯文件。
搭建與配置
這里我是用寶塔面板來實現整個過程的,知曉原理后,也可以用其他類似的手段實現。
官方安裝示例 [Nginx http_dav_module](Module ngx_http_dav_module (nginx.org))
重新安裝 Nginx
在寶塔面板,Nginx 安裝中選擇 編譯安裝,并點擊 添加自定義模塊。
添加自定義模塊
模塊名稱:http_dav_module模塊描述:webdev模塊參數:--with-http_dav_module --add-module=/root/nginx-dav-ext-module前置腳本:git clone https://github.com/arut/nginx-dav-ext-module.git /root/nginx-dav-ext-module
部署 WebDAV 網站服務
添加一個新網站
在配置文件中添加以下內容(別忘了還要添加第二行代碼,就在server
上面添加):
http { dav_ext_lock_zone zone=foo:1m; # 默認鎖超時值為 1 分鐘 ... server {... location / { root /www/wwwroot/webdav; client_body_temp_path /www/wwwroot/webdav/client_temp; #client_max_body_size 102400M;#大文件支持 dav_methods PUT DELETE MKCOL COPY MOVE; create_full_put_path on; dav_access user:rw group:rw all:r; autoindex on; # 需要 nginx-dav-ext-module 才有下面的選項 dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK; dav_ext_lock zone=foo;} }}
在 網站目錄 加入密碼保護即可
應用
接下來,就可以在需要 WebDAV 服務的地方使用了。
比如:Joplin
WebDAV URL:就是你訪問那個 WebDAV 網站的地址
用戶名和密碼:就是剛才設置的密碼訪問
到此這篇關于基于Nginx搭建WebDAV服務的文章就介紹到這了,更多相關Nginx搭建WebDAV服務內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!