• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Student007/koa-sub-domain: Subdomain middleware for Koa

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Student007/koa-sub-domain

开源软件地址:

https://github.com/Student007/koa-sub-domain

开源编程语言:

JavaScript 98.9%

开源软件介绍:

Flattr this Build Status Dependency npm version

Projekt Tasks: Stories in Ready Stories in Ready

koa-sub-domain

Simple and lightweight Koa middleware to handle multilevel and wildcard subdomains

Install

npm install koa-sub-domain

Usage

var koa = require('koa');
var app = koa();
var subdomain = require('koa-sub-domain');

app.use(subdomain('sub',function *(next){
  this.body = 'Hey, you got it :-)';
}));
app.listen(3000);

Advantage usage

In the case you are running multiple domains on this server, you can add FQDN instead of only sub. Also you may user Koa-router routes same as generator functions as target of a domain.

app.use(subdomain('sub.example.com', exampleRoute)); // not exampleRoute.routes() !!!
app.use(subdomain('sub.foobar.com', function*(next){...}));

Also wildcards for the last sub domain are handled same as deeper domains below the *

app.use(subdomain('*.example.com',wildcardRoute));

So intranet.management.example.com is matched by *.example.com

Of cause you can handle multilevel subdomains in chain:

app.use(subdomain('api', router));
app.use(subdomain('v1.api', router));
app.use(subdomain('*.v1.api', router));

Note: The order of chaining is important !

Tipps for development

You need a DNS server or you can add all the FQDNs into your /etc/hosts (if you are using Linux or Mac OS X). On Windows 7 and 8, the hosts file path is %systemroot%\system32\drivers\etc.

172.0.0.1  example.com
172.0.0.1  sub.example.com
172.0.0.1  sub.foo.bar.example.com
172.0.0.1  wildcard.sub.foo.bar.example.com

An other way would be to use dnsmasq. You need simple one line in the dnsmasq.conf:

address=/.example.com/192.168.0.1

Note: the . before example.com - this means all requests to sub-domains are landing on 192.168.0.1.

Performance

You can optimize performance by knowing the steps Koa-sub-domain is resolving:

  1. sub === this.hostname
  2. this.subdomain[0] === sub
  3. typeof this.subdomain[1] === 'string' // or wildcard => sub sub domain ?

That means FQDNs should be resolved the fastest.

License

MITClick here to lend your support to: Koa-sub-domain middleware and make a donation at pledgie.com !

Note: If you are working for a big company please notice my works as I would be an external - small companies please donate by project success. Open Source contributors: I do not expext something - I love to give you something back !! ###Notes TODO: checking out whether yield has to be replaced by return because of there is no more following match !




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap