IT TIP

Express.js 또는 Connect.js에서 여러 하위 도메인을 구성하려면 어떻게해야합니까?

itqueen 2021. 1. 9. 11:15
반응형

Express.js 또는 Connect.js에서 여러 하위 도메인을 구성하려면 어떻게해야합니까?


나는 디렉토리에 매핑되는 하위 도메인을 구성하는 방법을 제공하는 httpd (Apache) 작업에 익숙합니다. Connect.js / Express.js에서 어떻게 똑같은 일을 할 수 있습니까? 내가 가진 유일한 것은 하위 도메인을 구성하는 데 사용할 수있는 방법을 잘 모르겠는 경로입니다. m.mysite.com, sync.mysite.com과 같은 하위 도메인이 있습니다.

누군가 도울 수 있습니까?


또는 vhost.

그런 다음 자체 디렉토리에 여러 사이트를 만들고 Express 앱을 내 보냅니다. /path/to/m/index.js:

var app = express()
/* whatever configuration code */
exports.app = app
// There is no need for .listen()

그리고 다음 앱으로 모든 요청을 처리합니다.

var vhost = require('vhost');

express()
.use(vhost('m.mysite.com', require('/path/to/m').app))
.use(vhost('sync.mysite.com', require('/path/to/sync').app))
.listen(80)

참고 /path/to/m/path/to/sync(상기 작성된) 절대 경로 일 수 또는 상대 경로.


요청에 하위 도메인을 추가 한 다음 후속 next()호출 에서이를 확인할 수 있습니다 .

> http://groups.google.com/group/express-js/browse_thread/thread/b04bbaea7f0e8eed 에서 다음 코드를 얻었습니다 (원래 작성자에게 전체 크레딧)

app.get('*', function(req, res, next){ 
  if(req.headers.host == 'some.sub.domain.com')  //if it's a sub-domain
    req.url = '/mysubdomain' + req.url;  //append some text yourself
  next(); 
});

// This will mean that all get requests that come from the subdomain will get 
// /subdomain appended to them, so then you can have routes like this 
app.get('/blogposts', function(){ 
  // for non-subdomain 
});

app.get('/mysubdomain/blogposts', function(){ 
   // for subdomain 
});

나는 최근에이 문제를 발견했고, Express 4를 사용하여 도움을 줄 모듈을 작성했습니다. https://www.npmjs.org/package/express-subdomain .

예-api 하위 도메인.

var express = require('express');
var app = express();

var router = express.Router();

//api specific routes
router.get('/', function(req, res) {
   res.send('Welcome to our API!');
});

router.get('/users', function(req, res) {
    res.json([
        { name: "Brian" }
    ]);
});

app.use(subdomain('api', router));
app.listen(3000);

더 많은 예제를 보려면 npm의 모듈을 확인하십시오.


Express에서 하위 도메인을 지원하는 모듈을 만들었습니다 : https://github.com/WilsonPage/express-subdomain-handler

참조 URL : https://stackoverflow.com/questions/5791260/how-can-i-configure-multiple-sub-domains-in-express-js-or-connect-js

반응형