同じポート番号で複数のサイト(ホスト名)を提供したいという要件があります。マルチテナントをサポートするnode.jsアプリケーションの開発方法
これらのサイトは同じコードファイルを共有していますが、異なるサイト構成とファイルアップロードフォルダを持つ点のみが異なります。
基本的には、さまざまなドメインをホストできるCMSです。通常、各ドメインには独自のテーマと設定、もちろんdb接続があります。
私にこれに関するいくつかの指示を与えることができる人は誰ですか?ありがとう非常に ありがとう。
同じポート番号で複数のサイト(ホスト名)を提供したいという要件があります。マルチテナントをサポートするnode.jsアプリケーションの開発方法
これらのサイトは同じコードファイルを共有していますが、異なるサイト構成とファイルアップロードフォルダを持つ点のみが異なります。
基本的には、さまざまなドメインをホストできるCMSです。通常、各ドメインには独自のテーマと設定、もちろんdb接続があります。
私にこれに関するいくつかの指示を与えることができる人は誰ですか?ありがとう非常に ありがとう。
各サイトには独自のプロセスとポートが必要です。ホスト名に応じてリクエストをプロキシする必要があります。
各ポートを特定のポートにプロキシする場合は、node-http-proxyまたはbouncyを使用できます。 https://github.com/visionmedia/express/blob/master/examples/vhost/app.js
vhostの機能はこの点で有望に見える – haohello
はい、確かに私のアドバイスは、ノードのhttp-proxyまたは弾力性のある、個別に監視することができるようにプロセスを分けておく方が良いので、それは良い方法です。 – alessioalex
これは、リバースプロキシサーバーとしてnginxを使用することとかなり似ていると思いますが、これは簡単です。 – haohello
単一のHTTPサーバコードベース(virtual hosting参照)から複数のドメインを簡単にサポートすることができます。ハンドラにロジックを実装するだけで、リクエストホストを検査できます(例: Host
HTTPヘッダー)、その値に基づいて条件付きで動作します。次に、任意の数のDNS名を使用してサーバーを指し示すことができます。
はここに例を示します
あなたは特に何の方向/助けを必要としないhttp.createServer(function (request, response) {
var host = request.headers['Host'];
if (host == 'domain1.com') {
// Execute logic based on that host.
} else if (host == 'domain2.com') {
// Execute other logic...
}
}).listen(8080);
var subdomains = require('express-subdomains')
, express = require('express')
, app = Express.createServer()
// example: api.example.com/user -> '/api/user'
subdomains
.use('api')
.use('other.vanity.domain')
app.use(subdomains.middleware)
app.get('/api/user' function (req, res, next) {
// ..
})
app.listen()
このフォーマットのホストでは、この動作は「http://mypage.mysite.superhost.ext/'? – jcolebrand
これはreq.headers.hostを調べて、バニティドメインとサブドメインの両方に一致します –
?あなたが説明していることは確かに可能ですが、具体的な詳細を尋ねるなら、より良い指導を受けるでしょう。 – maerics
さて、私はnode.jsでcmsアプリケーションを開発していますが、私はこのCMSアプリケーションが異なるドメイン名を提供できるようにしたいと思いますが、それぞれのドメインは独自のテンプレートファイルとdb接続などを持ちます。 – haohello
[ノード - http - プロキシ](https://github.com/nodejitsu/node-http-proxy) – Raynos