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

Nginx 反向代理 Tomcat 訪問 404:location root 配置錯誤

     編輯:程式設計疑難解答

配置中 location / { root /html; index index.html; } 導致請求 https://host/ 映射到磁盤 /html/index.html,若實際項目在 /usr/local/tomcat/webapps/ROOT 或其他路徑,會 404。

正確配置模板

server {
    listen 80;
    server_name your.domain.com;

    location / {
        proxy_pass https://127.0.0.1:8080;  # 轉發給 Tomcat
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    # 靜態資源直接由 Nginx 服務(可選)
    location ~ .*\.(js|css|png|jpg|jpeg|gif|ico)$ {
        root /usr/local/tomcat/webapps/ROOT;  # Tomcat webapps 實際路徑
        expires 30d;
    }
}

關鍵點

  • 動態請求 proxy_pass 到 Tomcat 端口(默認 8080)。
  • 靜態資源 root 指向 Tomcat 部署項目的實際目錄(含項目名)。
  • 檢查 Nginx 錯誤日誌 /var/log/nginx/error.log 確認具體 404 路徑。

去掉多餘的 root /html;,改用反向代理模式才是 Nginx + Tomcat 標準架構。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved