Vue プロジェクトは正常にローカルで実行されますが、パッケージ化してサーバーにアップロードした後、リクエストは 404 問題に対処します

問題解決:
nginx の構成proxy_pass http://127.0.0.1:8080;を変更してproxy_pass http://127.0.0.1:8080/;
余分なスラッシュを追加します。

問題分析:
Vue プロジェクトがパッケージ化された後、インターフェイス リクエストがバックエンドに到達しないと 404 エラーが発生します. これは、Vue プロジェクトがパッケージ化された後に proxyTable プロキシ構成が失敗するためです.
Vue プロジェクトのパッケージ化後にプロキシが失敗するため、Nginx を使用してリバース プロキシ リクエストを実行する必要がありますが、それでも 404 エラーが発生します。nginx で proxy_pass リバース プロキシを設定する場合、絶対ルート パスに相当する次の URL に「/」が追加されると、nginx は場所に一致するパスの部分をプロキシしません。プロキシへの一致するパス部分も。

例: アクセス インターフェイスは /api/menu/getMenuList です
nginx 構成ファイル proxy_pass の背後にある URL に「/」が含まれている場合、プロキシからバックエンドへのパスは http://127.0.0.1:8080/menu/getMenuList です。 /api/ パスへの一致を省略します。

location /api/ {
    
     
  proxy_pass   http://127.0.0.1:8080/;
}

nginx 構成ファイル proxy_pass の背後にある URL に「/」が含まれていない場合、バックエンドへのプロキシ パスは http://127.0.0.1:8080/api/menu/getMenuList であり、一致する /api/ と共にプロキシされます。道;

location /api/ {
    
     
  proxy_pass   http://127.0.0.1:8080;
}

参考調査記事:https://blog.csdn.net/qq_42784165/article/details/110297059

おすすめ

転載: blog.csdn.net/qq_41160739/article/details/124328905