返回筆記列表

Sqlite_web

Study

Sqlite_web

1. 安裝 sqlite_web

首先,確保你已經在遠端主機上安裝了 sqlite_web。你可以使用以下指令在遠端主機上安裝:

pip install sqlite_web

2. 在遠端主機上啟動 sqlite_web

假設你的 SQLite 資料庫檔案位於遠端主機的某個路徑(例如 /path/to/your/database.db),你可以在遠端主機上啟動 sqlite_web,並綁定到一個可公開存取的 IP 位址。預設情況下,sqlite_web 只監聽本地的 127.0.0.1,因此需要手動指定主機位址為 0.0.0.0,讓它接受來自外部的連線。

執行以下指令:

sqlite_web /path/to/your/database.db --host 0.0.0.0 --port 8080
  • --host 0.0.0.0:表示監聽所有網路介面,允許外部連線。
  • --port 8080:指定服務運行的端口(你可以根據需要更改端口號,例如 80 或其他)。

3. 檢查遠端主機的防火牆設定

在遠端主機上,你需要確保防火牆允許外部連線到指定的端口(例如 8080)。以下是常見的防火牆配置範例:

使用 ufw(Ubuntu)

sudo ufw allow 8080
sudo ufw status  # 檢查防火牆狀態

使用 firewalld(CentOS/RHEL)

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

如果你的遠端主機在雲端服務(例如 AWS、GCP 或 Azure),還需要在雲端供應商的管理控制台中設定安全群組或網路規則,允許對應端口的入站流量。


4. 從本地端遠端存取

在遠端主機啟動 sqlite_web 後,你可以在本地端的瀏覽器中輸入以下網址來存取:

http://遠端主機的IP位址:8080

例如,如果遠端主機的公共 IP 是 192.168.1.100,則輸入:

http://192.168.1.100:8080

這將打開 sqlite_web 的網頁介面,讓你可以瀏覽和查詢資料庫。


5. 安全性建議

直接將 sqlite_web 暴露在公開網路上並不安全,因為它預設不提供強大的身份驗證機制。為了保護資料庫,建議以下做法:

  • 設定密碼:啟動時加上 --password 參數,要求輸入密碼才能存取:

    sqlite_web /path/to/your/database.db --host 0.0.0.0 --port 8080 --password 你的密碼
    
  • 使用 SSH 隧道:更安全的做法是透過 SSH 隧道來存取,避免直接暴露端口。步驟如下:

    1. 在本地端執行:
      ssh -L 8080:localhost:8080 user@遠端主機IP
      
    2. 在遠端主機上啟動 sqlite_web,但只監聽本地:
      sqlite_web /path/to/your/database.db --host 127.0.0.1 --port 8080
      
    3. 在本地瀏覽器輸入 http://localhost:8080,即可透過 SSH 隧道安全存取。
  • 使用 VPN:如果你的遠端主機在私有網路中,可以透過 VPN 連線到該網路,再存取 sqlite_web


6. 注意事項

  • 效能sqlite_web 並非專為高併發遠端存取設計。如果需要多人同時存取或更高的效能,建議考慮使用客戶端-伺服器模式的資料庫(例如 PostgreSQL 或 MySQL),並搭配專用的管理工具。
  • 唯讀模式:預設情況下,sqlite_web 允許修改資料庫。如果你只想提供唯讀存取,可以加上 --read-only 參數:
    sqlite_web /path/to/your/database.db --host 0.0.0.0 --port 8080 --read-only
    

總結

要遠端進入 sqlite_web,最簡單的方式是將服務綁定到 0.0.0.0 並開放端口,但為了安全性,建議使用密碼保護或 SSH 隧道。根據你的需求和環境,選擇最適合的方式來配置。如果你有更具體的環境細節(例如主機作業系統或網路結構),可以提供更多資訊,我可以進一步優化建議!