
www.domain.com/nodeapp でノード アプリをホストしようとしています。www.domain.com の Web サイトはすでに Apache サーバーでホストされています。Apache 構成でリバース プロキシを作成しました。
ProxyPass /nodeapp http://localhost:3100/nodeapp
ProxyPassReverse /nodeapp http://localhost:3100/nodeapp
これはMEANアプリの
フォルダ構造ng build --prod
以下は、distフォルダ内のAngularアプリ(を使用して構築したもの) をリンクしているノードapp.jsファイルです。
app.use("/api/posts", postsRoutes);
app.use("/api/user", userRoutes);
app.use("/api/client", clientRoutes);
app.use("/", express.static(path.join(__dirname, "angular")));
app.use((req, res, next) => {
res.sendFile(path.join(__dirname, "angular", "index.html"));
});
module.exports = app;
ポート 3000 でノード server.js ファイルを実行すると、index.html のみが読み込まれ、他の静的ファイルは 404 をスローします。
その後、Angular アプリの構築中に空の base-href を追加してng build --prod --base href
、アプリに静的リソースを適切にロードしようとしましたが、www.domain.com/nodeapp/auth/login
URL で直接 Angular アプリ内を移動すると、静的ファイルのパスが表示されますが、www.domain.com/nodeapp/auth/login/style.css
これは明らかに間違っています。たとえば、( ) の API リンクは、http://localhost:3100/api/posts
リバース プロキシを使用してアクセスすると機能しません。
ここで何が間違っているのでしょうか? MEAN アプリが Apache サーバーと一緒にホストされている実用的なガイドはありますか?