關於思源筆記與docker的部分問題


關於思源筆記

sevePath與思源

思源從版本1.9.8之后規定必須設置servePath綁定地址,即僅限指定地址訪問。
比如,部署的時候設置的--servePath=127.0.0.1:6806,那么僅能訪問127.0.0.1:6806訪問,不可以0.0.0:6806或其他地址訪問。
啟動容器時若不設置--servePath,我們能夠看到docker logs報告必須設置servePath。
在這里插入圖片描述該設置的好處顯而易見:訪問者僅能從指定地址訪問,提高了思源的安全性。
弊端:不能使用隱性解析方案。

筆者喜歡在每個服務器部署一個思源筆記。且筆者部署的每一個思源都是使用隱性解析方案的。

關於此處servePath在官方文檔的說明,可以使用nginx設置反向代理來隱藏地址,下面我們來看一下隱性解析與反向代理的區別。


隱性解析

隱性解析屬於應用層。我們在設置域名解析的時候,一般設置為類型A解析。而隱性解析屬於轉發。

轉發

轉發一般分為兩種,一種是顯性轉發,一種是隱性轉發。

顯性轉發

顯性轉發即訪問后跳轉到所設置的轉發域名
如 我們將三級域名a.baidu.com設置顯性轉發為b.baidu.com,則訪問a.baidu.com時候,url會顯示b.baidu.com。

隱性轉發

隱性轉發即訪問后跳轉到所設置的轉發域名,但 url顯示的為我們訪問的域名。
如 我們將三級域名a.baidu.com設置隱性轉發為b.baidu.com,則訪問a.baidu.com時候,url會顯示a.baidu.com。

隱性轉發的好處為:我們可以隱藏訪問的具體地址。比如說我們在使用隱性轉發,三級域名a.baidu.com設置隱性轉發為b.baidu.com,則我們使用a.baidu.com訪問其文件夾/file,具體路徑為b.baidu.com/file,但url則顯示a.baidu.com。也就是我們使用a地址去訪問b地址下的任意文件,隱性轉發下的地址欄是不會變的,只顯示a地址。


反向代理

反向代理這里指基於思源官方文檔的反向代理,也就是基於本機的反向代理。
我們在地址為172.0.0.1的服務器內配置nginx,在配置文件*.conf里面設置
listen 80
proxy_pass 127.0.0.1:6806
server_name siyuan.baidu.com
其中,siyuan.baidu.com在域名解析設置為A類型解析到172.0.0.1。
那么我們訪問siyuan.baidu.com時,相當於訪問地址為172.0.0.1公網服務器的內網地址127.0.0.1:6806。


隱性解析與反向代理方案的區別

不同於隱性解析的是,改方案無法隱藏訪問地址。

比如我們訪問服務器內172.0.0.1/data/1.sy,那么訪問地址為siyuan.baidu.com/data/1.sy。

若隱性解析方案訪問172.0.0.1/data/1.sy,則地址欄顯示仍然是siyuan.baidu.com(此處的baidu.com解析為A類型127.0.0.1,siyuan.baidu.com解析為隱性baidu.com:6806)


版本>1.9.8與方案

通過上面的描述我們可以知道,大於1.9.8的版本是不能夠使用隱性解析方案訪問思源的。
我們來對思源的判定簡單做一下分析。
在這里插入圖片描述我們可以看到在conf.json做了訪問限制。
筆者在部署的時候嘗試了設置兩個servePath,
即--servePath=baidu.com.6806 --servePath=siyuan.baidu.com。
測試發現,該情況下兩個地址均無法進入思源。(測試時使用筆者的域名,非baidu.com。此處僅示例)。

以上即關於大於1.9.8的版本無法使用隱性解析方案訪問的總結。

存儲地址

關於存儲地址,注意到本段以前圖片的讀者會發現,思源的存儲地址是在容器內。我們來看一下思源的存儲說明與實際地址。

官方說明如下
在這里插入圖片描述即思源存儲於容器內的工作文件。
基於ubuntu20.04tls部署的思源
docker pull b3log/siyuan
docker run --name siyuan -it -d --restart=always -v /usr/local/software/siyuan/data/SiYuan:/root/Documents/SiYuan -p 6806:6806 b3log/siyuan
(老版本無需設置servePath)
那么實際存儲地址為/var/lib/docker/overlay2/[容器完整id]/diff/home/siyuan/Documents/SiYuan

希望開發者以后可以將思源的保存地址允許設置到本機的root下,或本機的/home下的文件夾內吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM