五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

WebDAV服務器搭建

2022-07-23 22:22 作者:莊生夢蝶是逍遙  | 我要投稿

-------------------- 2023.3.30~2023.4.1將全部內容更新 ?-------------------------------

之前發(fā)布時的文章比較零亂,不夠簡潔...


目錄

1.WebDAV服務器搭建

2.搭建目的

3.說明

4.使用HTTPS協(xié)議

4.1 HTTPS單向認證

????4.1.1 ?Nginx

????????4.1.1.1推薦指數(shù):★★★★★☆

????????4.1.1.2 使用感受

????????4.1.1.3. 思路方法

????????4.1.1.4 腳本搭建WebDAV(推薦)

????????4.1.1.5. 學習使用

????????????4.1.1.5.1 第1步:生成一個自簽名的數(shù)字證書

????????????4.1.1.5.2 第2步:安裝Nginx并配置WebDAV模塊

????????????4.1.1.5.3 第3步:增強安全性及相關設置

???????4.1.1.6 開放安全規(guī)則,入方向:443端口。關閉防火墻

????????4.1.1.7.WebDAV同步設置

????????????4.1.1.7.1 Joplin客戶端WebDAV同步設置

????????????注意

????????????Joplin安卓和ios端同樣需要安裝證書Joplin同步效果展示

????????????4.1.1.7.2 Obsidian客戶端WebDAV同步設置

????4.1.2. webdav-go

????4.1.2.1 推薦指數(shù):★★★★★☆

4.2.HTTPS 雙向認證

4.2.1. 推薦指數(shù):★★★★★★

4.2.2 目的

4.2.3. Joplin、Obsidian 不支持雙向認證

5.視頻教程


1.WebDAV服務器搭建

搭建的初衷是為了同步Joplin筆記(https://joplinapp.org/),后來發(fā)現(xiàn)其實也可以同步Obsidian筆記(https://obsidian.md/)雖然同步功能沒有Joplin友好。前者是軟件自帶WebDAV同步方式,后者是使用WebDAV同步插件


2.搭建目的

用于筆記等數(shù)據(jù)的實時同步

筆記同步三件套:WebDAV客戶端 ?+ WebDAV服務端 + 服務器

  • WebDAV客戶端:可以是Joplin(https://joplinapp.org/),也可以是Obsidian(https://obsidian.md/),或者其它支持WebDAV同步的軟件

  • WebDAV服務端Nginx或者WebDAV-go ):搭建在服務器中,如云服務器

  • 服務器:筆記等數(shù)據(jù)存放的地方,可以隨時隨地使用任何的WebDAV客戶端同步數(shù)據(jù)

ps: 關于服務器的選擇,這里將使用云服務器


3.說明

1.本篇文章需要一點Linux基礎,如果有不明白的地方,歡迎到評論區(qū)留言

2.需要使用到ssh終端登錄服務器(SecureCRT、Finalshell等等都是可以的)

3.本篇文章中列出的代碼的使用方式:

將列出的代碼全部復制(快捷鍵:ctrl+insert),并粘貼到ssh終端(快捷鍵:shift+insert),最后回車,其中某些步驟需要多次回車(總之,粘貼后多按幾次回車即可)

4.云服務器的安全組記得開放指定端口?。?! 另外服務器中莫忘記開放指定端口(為了省事,可直接關閉服務器中的防火墻)


4.使用HTTPS協(xié)議

如果使用的是HTTP協(xié)議,這意味著我們的筆記數(shù)據(jù),完全luolu地在網(wǎng)上跑來跑去……,筆記數(shù)據(jù)容易被壞人監(jiān)聽,所以這里推薦使用HTTPS協(xié)議傳輸數(shù)據(jù)


下面有2種HTTPS認證方式:單向認證和雙向認證。但目前Joplin、Obsidian筆記軟件均不支持雙向認證,所以為了方便,推薦使用HTTPS單向認證

4.1 HTTPS單向認證

下面展示了兩種方式,一種是由Nginx編譯安裝搭建的WebDAV服務器,另一種是Github上由Go語言編寫的WebDAV-go項目。當然這兩者都已經(jīng)腳本化,只為方便搭建,使用其中一種就行。


4.1.1 ?Nginx

4.1.1.1推薦指數(shù):★★★★★☆

4.1.1.2 使用感受

如今,由于考慮到Nginx的泛用性,我已經(jīng)將其作為WebDAV服務器使用了,通過它同步Joplin筆記已經(jīng)1年多,是比較穩(wěn)定的


4.1.1.3. 思路方法

為了筆記傳輸過程中更安全,就需要使用HTTPS,而最麻煩的是SSL數(shù)字證書問題,這個問題如果解決了,其他的問題也就不算問題


方法:

  1. 首先需要我們有一個SSL數(shù)字證書,可以自己購買,但是無奈價格昂貴,但可以使用開源軟件mkcert幫助我們生成一個自簽名的數(shù)字證書(它比openssl方便許多)

  2. 安裝Nginx,配置WebDAV模塊,使Nginx能夠通過WebDAV傳輸數(shù)據(jù),然后配置相關安全設置進一步加強安全性

  3. 設置服務器安全組,開放Nginx監(jiān)聽的https默認端口443(但不一定非要443,我們可以改為2022,2023,...都行)。并且關閉服務器防火墻(服務器中也可以開放指定端口,如443,80等任意的端口)

  4. 為Joplin、Obsidian等客戶端配置WebDAV同步設置,包括配置證書

  5. 同步效果展示

4.1.1.4 腳本搭建WebDAV(推薦)

  • 復制下面代碼,粘貼到終端,然后回車

  • 選擇證書生成方式,然后回車(默認根據(jù)IP生成)

  • 輸入Nginx監(jiān)聽的HTTP端口,然后回車(默認80端口)

  • 輸入Nginx監(jiān)聽的HTTPS端口,然后回車(默認443端口)

  • 運行片刻,將自動把證書下載到電腦,需要手動選擇下載位置

注:main.sh這個shell文件有提供多種功能

腳本v2.1版本:支持Ubuntu、Debian、CentOS系統(tǒng)

經(jīng)過測試的系統(tǒng)版本:

ubuntu22.04、 ubuntu20.04、ubuntu18.04、ubuntu16.04

Debian11.1、Debian10.0、Debian9.0

CentOS7.9、CentOS7.2


4.1.1.5. 學習使用

下面是詳細步驟,供學習交流,以CentOS為例,其他Linux系統(tǒng)同理操作即可

ps: 由于文本格式,像空格,tab符及特殊符號等、以及這篇文章發(fā)布的平臺本身等等原因,有一定的概率會出錯,所以,推薦使用給出的shell腳本執(zhí)行(見4.1.1.4),而手動部分展示出來是為了供學習使用和參考。


4.1.1.5.1 第1步:生成一個自簽名的數(shù)字證書

方式1:手動執(zhí)行

開源軟件mkcert(go語言編寫的程序)是一個用于制作本地信任的開發(fā)證書的簡單工具

下載:https://github.com/FiloSottile/mkcert/releases

https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64

方式2:自動執(zhí)行,為ip地址生成自簽名數(shù)字證書。


4.1.1.5.2 第2步:安裝Nginx并配置WebDAV模塊

4.1.1.5.3 第3步:增強安全性及相關設置

1.相關安全性增強配置:

1.1.HTTPS 密鑰交換算法

說明:為Nginx配置ECDH橢圓曲線算法prime256v1

執(zhí)行下面指令生成DH 參數(shù)文件:(執(zhí)行需半分鐘左右)

1.2HTTPS 會話緩存

說明:之后將會為nginx配置會話憑證(Session Ticket)方式

執(zhí)行下面指令生成會話憑證密鑰文件:

2.配置筆記數(shù)據(jù)存放目錄


3.配置用于登錄認證的密碼文件

說明:執(zhí)行下面指令,記住生成的WebDAV用戶名和密碼,如果忘記了,再次執(zhí)行即可

4.修改Nginx配置文件

4.1.將mkcert生成證書和私鑰移動到Nginx配置目錄

4.2.修改配置文件(注:此處有一百余行)

注意:此塊內容除了EOF所在行,其余不要用Tab符,如果有,請?zhí)鎿Q為空格,否則重定向無法正確輸出

(有的$需要保留,所以使用了轉義符反斜杠)

4.1.1.6 開放安全規(guī)則,入方向:443端口。關閉防火墻


以阿里云為例,入方向:開放您設置的https的端口(您設置的https的端口,并非一定是443,不過是默認情況下是443),并在ssh終端輸入下面指令關閉服務器防火墻(也并非一定要關閉,您也可開放這個端口):

下面,以開啟443端口為例:


方式1:關閉防火墻


方式2:開放443端口


#### 4.1.1.6.WebDAV同步設置

下面以Joplin和Obsidian這兩款筆記軟件為例,它們都支持WebDAV同步,可以很好作為同步測試對象


4.1.1.6.1 Joplin客戶端WebDAV同步設置

將根證書從服務器中下載到Windows中,然后配置證書到Joplin客戶端

演示中的Joplin版本:2.9.17

1.下載根證書

執(zhí)行下面指令下載根證書rootCA.pem,在彈出的對話框中選擇存放的目錄,比如我將它下載到N盤根目錄

2.給Joplin客戶端配置 TLS 證書

配置方法:

打開Windows版本的Joplin:依次點擊工具——選項——同步,然后選擇同步目標WebDAV

接著點擊【顯示高級設置】,然后鼠標往下滑動,找到TLS證書字樣。接著看下面配置方式


?方式1:配置證書文件的全路徑。比如我將下載的證書復制到N盤的cert目錄,那么配置TLS路徑

為N:\cert\rootCA.pem


?方式2:配置證書文件所在目錄,比如我將證書放到N盤的cert目錄,那么配置TLS證書路徑為 ?N:\cert




3.填寫WebURL、WebURL用戶名、WebURL密碼

WebURL格式:https://【域名或IP】:【設置的https端口】/dav

如:https://125.26.53.206:2022/dav

接著點擊【應用】,然后點擊【檢查同步設置】(查 看配置是否成功)



注意

證書文件所在路徑中不能有中文和空格!

檢查同步設置可能會有以下報錯:

1.401:說明WebDAV配置信息有誤

2.unable to verify the first certificate :說明證書配置有誤

值得說明的是,由于Joplin對證書的檢驗方式、以及其他等等原因,我們的配置的根證書存在小概率報錯(原因未知)。

? ?解決的方式如下幾種:

  • 更改證書存放路徑,重新配置TLS證書,然后必須重啟Joplin。這是為了解決該軟件不能及時更新修改的配置信息等原因,體驗不是太好,希望以后能修復吧

  • 在Joplin軟件中忽略TLS證書錯誤,然后重啟Joplin,不過這會丟失些安全性。

Joplin安卓和ios端同樣需要安裝證書

安卓端安裝證書:設置——>隱私安全——系統(tǒng)安全——加密與憑據(jù)——從SD卡安裝證書即可

ios端安裝證書:

  1. 將證書文件通過郵件發(fā)送到一個郵箱,然后用safari瀏覽器登錄這個這個網(wǎng)頁郵箱,然后找到這個郵件,并將其中的附件(也就是證書)下載下來(會提示是不可描述文件)

  2. 然后進入設置——>通用——>描述文件——>選擇這個證書文件,然后安裝

  3. 繼續(xù)進入設置——>通用——>關于本機——>證書信任設置——>開啟【針對根證書啟用完全信任】的開關


Joplin同步效果展示

PC端


安卓端

4.1.1.6.2 Obsidian客戶端WebDAV同步設置

1.首先下載根證書,并導入證書到本地計算機中,避免同步時400錯誤(原因:由于自簽名證書

400錯誤:

https://github.com/remotely-save/remotely-save/issues/79

本插件處理 https 是完全交由 electron 處理的。請試一下用電腦原生的 chrome 瀏覽器看看是否有相同錯誤?此外可以查一下是不是 ssl 證書設置有問題?

以當前用戶為例,點擊【下一步】



點【是】

3.先重啟obsidian軟件,然后打開如remotely-save插件,填寫WebDAV 同步信息


3.點擊檢查測試是否同步成功


4.1.2. webdav-go

4.1.2.1 推薦指數(shù):★★★★★☆

webdav-go似乎不需要過多的環(huán)境依賴,由Golang語言編寫,不像Nginx編譯安裝需要較為復雜的環(huán)境

此項目github上有1.7W星星,穩(wěn)定性感覺還是不錯的

二進制文件:https://github.com/hacdias/webdav/releases

安裝過程:待更新...


4.2.HTTPS 雙向認證

4.2.1. 推薦指數(shù):★★★★★★

4.2.2 目的

在單向認證的基礎上進一步加強安全性,比如網(wǎng)銀就采用了該方式,簡單的說就是客戶端和服務器端都需要驗證彼此的身份,它可以防止中間人對數(shù)據(jù)的監(jiān)聽和篡改。


4.2.3. Joplin、Obsidian 不支持雙向認證

理論上是可以進行雙向認證的,并且使用了curl測試通過了https的雙向認證、chrome瀏覽器也通過認證


Joplin錯誤信息:

發(fā)生錯誤。請檢查 URL、用戶名、密碼等是否正確以及同步目標是否可訪問。報告的錯誤為:

PROPFIND : Unknown error 2 (400): <html> <head><title>400 No required SSL certificate was sent</title></head> <body> <center><h1>400 Bad Request</h1></center> <center>No required SSL certificate was sent</center> <hr><center>nginx</center> </body> </html> (Code 400)


查了下資料:"Joplin does not use certificates for authentication. The certificate to specify is for certificate verification of the Server".

(譯:證書只是用來驗證服務器證書的,并不會將它發(fā)送給服務器)

資料來源:https://discourse.joplinapp.org/t/can-joplin-send-an-x509-certificate/14369

所以,目前無法實現(xiàn)雙向認證

這個問題先留著,如果官方提供解決方案了,再來更新這塊內容...


5.視頻教程

https://www.bilibili.com/video/BV1ie4y157yz/?vd_source=b64c0f67d52589e036d7ed622dff19bc

WebDAV服務器搭建的評論 (共 條)

分享到微博請遵守國家法律
铜陵市| 池州市| 巴南区| 台东县| 江永县| 石楼县| 弥勒县| 临西县| 昌江| 贡山| 乐至县| 雷波县| 保靖县| 浠水县| 临沭县| 东山县| 齐齐哈尔市| 舞钢市| 大田县| 法库县| 三江| 赤壁市| 修水县| 嵊州市| 大洼县| 无极县| 南木林县| 廉江市| 郯城县| 行唐县| 兴化市| 紫云| 十堰市| 沧州市| 新津县| 正蓝旗| 自贡市| 如东县| 保山市| 北安市| 广州市|