forked from milehigh-world/milehigh-club
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c2e7d4e
commit 4956be8
Showing
1 changed file
with
137 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
$ npm install vhost | ||
|
||
var vhost = require('vhost') | ||
|
||
var connect = require('connect') | ||
var vhost = require('vhost') | ||
var app = connect() | ||
|
||
app.use(vhost('*.*.example.com', function handle (req, res, next) { | ||
// for match of "foo.bar.example.com:8080" against "*.*.example.com": | ||
console.dir(req.vhost.host) // => 'foo.bar.example.com:8080' | ||
console.dir(req.vhost.hostname) // => 'foo.bar.example.com' | ||
console.dir(req.vhost.length) // => 2 | ||
console.dir(req.vhost[0]) // => 'foo' | ||
console.dir(req.vhost[1]) // => 'bar' | ||
})) | ||
|
||
var connect = require('connect') | ||
var serveStatic = require('serve-static') | ||
var vhost = require('vhost') | ||
|
||
var mailapp = connect() | ||
|
||
// add middlewares to mailapp for mail.example.com | ||
|
||
// create app to serve static files on subdomain | ||
var staticapp = connect() | ||
staticapp.use(serveStatic('public')) | ||
|
||
// create main app | ||
var app = connect() | ||
|
||
// add vhost routing to main app for mail | ||
app.use(vhost('mail.example.com', mailapp)) | ||
|
||
// route static assets for "assets-*" subdomain to get | ||
// around max host connections limit on browsers | ||
app.use(vhost('assets-*.example.com', staticapp)) | ||
|
||
// add middlewares and main usage to app | ||
|
||
app.listen(3000) | ||
|
||
var connect = require('connect') | ||
var serveStatic = require('serve-static') | ||
var vhost = require('vhost') | ||
|
||
var mainapp = connect() | ||
|
||
// add middlewares to mainapp for the main web site | ||
|
||
// create app that will server user content from public/{username}/ | ||
var userapp = connect() | ||
|
||
userapp.use(function (req, res, next) { | ||
var username = req.vhost[0] // username is the "*" | ||
|
||
// pretend request was for /{username}/* for file serving | ||
req.originalUrl = req.url | ||
req.url = '/' + username + req.url | ||
|
||
next() | ||
}) | ||
userapp.use(serveStatic('public')) | ||
|
||
// create main app | ||
var app = connect() | ||
|
||
// add vhost routing for main app | ||
app.use(vhost('userpages.local', mainapp)) | ||
app.use(vhost('www.userpages.local', mainapp)) | ||
|
||
// listen on all subdomains for user pages | ||
app.use(vhost('*.userpages.local', userapp)) | ||
|
||
app.listen(3000) | ||
|
||
var connect = require('connect') | ||
var serveStatic = require('serve-static') | ||
var vhost = require('vhost') | ||
|
||
var mainapp = connect() | ||
|
||
// add middlewares to mainapp for the main web site | ||
|
||
// create app that will server user content from public/{username}/ | ||
var userapp = connect() | ||
|
||
userapp.use(function (req, res, next) { | ||
var username = req.vhost[0] // username is the "*" | ||
|
||
// pretend request was for /{username}/* for file serving | ||
req.originalUrl = req.url | ||
req.url = '/' + username + req.url | ||
|
||
next() | ||
}) | ||
userapp.use(serveStatic('public')) | ||
|
||
// create main app | ||
var app = connect() | ||
|
||
// add vhost routing for main app | ||
app.use(vhost('userpages.local', mainapp)) | ||
app.use(vhost('www.userpages.local', mainapp)) | ||
|
||
// listen on all subdomains for user pages | ||
app.use(vhost('*.userpages.local', userapp)) | ||
|
||
app.listen(3000) | ||
|
||
var connect = require('connect') | ||
var http = require('http') | ||
var vhost = require('vhost') | ||
|
||
// create main app | ||
var app = connect() | ||
|
||
app.use(vhost('mail.example.com', function (req, res) { | ||
// handle req + res belonging to mail.example.com | ||
res.setHeader('Content-Type', 'text/plain') | ||
res.end('hello from mail!') | ||
})) | ||
|
||
// an external api server in any framework | ||
var httpServer = http.createServer(function (req, res) { | ||
res.setHeader('Content-Type', 'text/plain') | ||
res.end('hello from the api!') | ||
}) | ||
|
||
app.use(vhost('api.example.com', function (req, res) { | ||
// handle req + res belonging to api.example.com | ||
// pass the request to a standard Node.js HTTP server | ||
httpServer.emit('request', req, res) | ||
})) | ||
|
||
app.listen(3000 |