首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Linux 下 Boa 網頁伺服器無法顯示圖片的排查步驟

     編輯:程式設計綜合問答

現象描述

  • 直接以瀏覽器開啟 HTML 檔案,圖片正常顯示。
  • 透過 Boa 伺服器以 IP 存取同一頁面,圖片無法載入 (顯示破圖圖示)。

判斷方向

非 HTML/CS 錯誤,極大機率為 Boa 伺服器設定 或 檔案權限/路徑 問題。

排查步驟

  1. 瀏覽器開發者工具 (F12) → Network 標籤:
    • 觀察圖片請求狀態碼:404 Not Found (路徑錯) / 403 Forbidden (權限) / 500 Internal Server Error (伺服器錯誤)。
    • 查看 Response Headers 的 Content-Type 是否為 image/*。
  2. 檢查 Boa 存取日誌與錯誤日誌:
    tail -f /var/log/boa/access.log
    tail -f /var/log/boa/error.log
    
    尋找圖片請求對應的行,確認回傳碼與錯誤訊息。
  3. 驗證 DocumentRoot 與 Alias 設定 (/etc/boa/boa.conf):
    • DocumentRoot /var/www/html 是否指向正確目錄?
    • 圖片實際路徑是否在 DocumentRoot 之下?
    • 是否有 Alias /images /real/path/to/images 設定?
  4. 檔案系統權限:
    ls -l /var/www/html/image.jpg
    # 應至少可被 boa 使用者讀取 (other r)
    chmod o+r /var/www/html/image.jpg
    
  5. MIME 類型對應:確認 AddType image/jpeg .jpg .jpeg 等設定存在於 mime.types 或 boa.conf。

常見解決案例

  • 圖片放在 /home/user/images,但 DocumentRoot 為 /var/www → 加 Alias /images /home/user/images 並重啟 Boa。
  • Boa 以 nobody 執行,圖片目錄權限 700 → chmod 755 目錄、644 檔案。
  • 大小寫不符:Linux 區分大小寫,HTML 寫 Image.JPG 實際檔名 image.jpg → 修正 HTML 或重命名檔案。

快速驗證指令

# 直接用 curl 模擬請求
curl -I https://localhost/image.jpg
# 應回傳 HTTP/1.1 200 OK 且 Content-Type: image/jpeg
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved