ホームページ  >  記事  >  バックエンド開発  >  nixOS 上の Nginx リバース プロキシが css/js をロードしようとすると 404 を返す

nixOS 上の Nginx リバース プロキシが css/js をロードしようとすると 404 を返す

王林
王林転載
2024-02-10 13:09:07529ブラウズ

nixOS 上的 Nginx 反向代理在尝试加载 css/js 时返回 404

php エディター Baicao は、nixOS で Nginx リバース プロキシを使用すると、時々問題が発生することを紹介しました。css/js をロードしようとすると 404 エラーが返されるということです。この問題により、Web サイトのスタイルと機能が正しく表示されなくなる可能性があります。この問題を解決するには、Nginx 構成とファイル パスが正しいかどうかを確認し、プロキシ サーバーが必要な静的リソースに正しくアクセスしてロードできることを確認する必要があります。慎重なトラブルシューティングとデバッグを通じて、この問題を解決し、Web サイトの正常な動作を保証します。

質問内容

Dockerコンテナのリバースプロキシとしてnginxを実行するためにnixosを設定しました。関数を使用して / を処理し、2 つのフォルダー staticjs からファイルを返す Docker コンテナーで golang サーバーを実行します。ポート 8181 で実行されます。コードは次のとおりです:

リーリー

私のアプリケーションの構造は次のとおりです。

リーリー

configuration.nixnginx 部分の構成は次のとおりです。

リーリー

https://server/myapp にアドレスすると、index.html は読み込まれますが、style.csshtmx は読み込まれます。 js は 404 を返します。

URL (http://server:8181) ではなくポート 8181 を使用してコンテナーがアドレス指定されている場合、すべてが通常どおりロードされます。

nginx が CSS と JS をコンテナにロードするリクエストをリダイレクトしたいと考えています。

######編集:### 正確なエラーは次のとおりです。

https://server.name/myapp## にアクセスしているにもかかわらず、get https://server.name/static/style.css net::err_aborted 404 #。 もう 1 つの重要な情報は、同じリバース プロキシを介して複数のコンテナをこの方法で実行したいということです。したがって、すべての css ファイルまたは

js

ファイルを同じ場所に指定しても機能しません。 解決策

index.html

ファイル内の css/js リファレンスを確認してください。ほとんどの場合、次のように絶対パスを介して参照することになります:

リーリー

簡単な解決策は、相対パスに置き換えることです: リーリー この方法ではエラーが発生しやすくなります。より良いアプローチは、

/myapp

:

でコンテンツを提供するようにアプリケーションを変更することです。 リーリー

そして、index.html ファイル内の参照パスを変更します:

リーリー

次に、nginx 構成を変更します: リーリー このアプローチでは、リバース プロキシが使用されているかどうかに関係なく、Web アプリケーションは常に uri

/myapp/

で提供されるため、保守が容易になります。

以上がnixOS 上の Nginx リバース プロキシが css/js をロードしようとすると 404 を返すの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。