.then(function (res) { log.fine('init() :: All express instances initialized, moving on with main'); // body... var appApi = res[1]; var appWebserver = res[0]; // Discover proper port, Heroku exports it in an env var port; if (globals.isHeroku) { port = process.env.PORT; } else { port = config.webserver.port; } // Setup express this.app.set('port', port); // remove x-powered-by header this.app.set('x-powered-by', false); // Require Basic auth if on heroku // if (globals.isHeroku) { // this.app.use(authMidd.basicAuth); // } this.app.use(cookieParser()); this.app.use(bodyParser.urlencoded({extended: false})); this.app.use(bodyParser.json()); this.app.use(bodyParser.urlencoded({extended: true})); // Init websockets socketServer.init(webserver.http); // listen for websocket connections socketServer.listen(globals.WebsocketNamespace.WEBSITE); if (config.usevhosts) { socketServer.listen(globals.WebsocketNamespace.API); this.app.use(vhost(config.hostname.city, appApi)); // SKIN it for now.. this.app.use(vhost('www.thesact.gr', appApi)); this.app.use(vhost('ath.weareroots.org', appApi)); this.app.use(vhost('ath.thesact.gr', appApi)); } // ultimate fallback if no vhost triggers, use main web app this.app.use(appWebserver); // development only if (globals.isDev) { this.app.use(errorhandler()); } return webserver.start(this.app); });
.listen(3033, (req, res) => { // app.use((req,res,next) => { console.log(req.headers.host);next()}); app.use((req, res, next) => { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); next(); }); app.use(vhost('pinger_d.wrioos.com', pingerService)); app.use(vhost('core_d.wrioos.com', coreService)); app.use(vhost('webgold_d.wrioos.com', webgoldService)); app.use('/', proxy('127.0.0.1:3034')); // proxy everything to devserver setupDevServer(); console.log('Application Started!'); });
function createVirtualHost(domainName, dirPath) { var newhost = express(); //parses request body and populates request.body newhost.use( bodyParser.urlencoded({ extended: true }) ); //checks request.body for HTTP method overrides //newhost.use( methodOverride() ); //Where to serve static content /* newhost.use( express.static(__dirname + dirPath) ); */ //TODO expose serveStatic's options newhost.use( serveStatic( dirPath, {"extensions": ['html', 'png', 'jpg', 'txt', 'json']}) ); //var serve = serveStatic('public/ftp', {'index': ['index.html', 'index.htm']}) //Show errors newhost.use( errorhandler({ dumpExceptions: true, showStack: true })); //Generate sitemap //Requires the python2 library 'Beautiful Soup 4' // //var process = spawn('python',["bdt_sitemap.py", domainName + " " + dirPath]); return vhost(domainName, newhost) }
createStatic: function(domainName, middleware) { var staticPath = sites + middleware + '/public'; console.log('Created vHost for domainName: %s using static path: %s.', domainName, staticPath); return vhost(domainName, express.static(staticPath)); }
.then(({ proxyApp }) => { newApp.proxyApp = proxyApp; newApp.vhost = vhost(newApp.host, newApp.proxyApp); mainProxy.use(newApp.vhost); return addHost(newApp); })
module.exports = () => { const router = Router() router.get('/', getPublicPage) router.all('*', allPageNotFound) return vhost(config.fqdn, router) }
createRoutes: function(domainName, middleware) { var routes = require(sites + middleware + ROUTES_PATH); if (routes && typeof routes === 'function') { console.log('Created vHost for domainName: %s using middleware: %s.', domainName, middleware); return vhost(domainName, routes); } },
.listen(3033, (req, res) => { //app.use((req,res,next) => { console.log(req.headers.host);next()}); app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header( "Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept" ); next(); }); app.use(vhost("titter_d.wrioos.com", titterService)); app.use(vhost("core_d.wrioos.com", coreService)); app.use(vhost("webgold_d.wrioos.com", webgoldService)); app.use("/", proxy("127.0.0.1:3034")); // proxy everything to devserver setupDevServer(); console.log("Application Started!"); });
function startHost( host, app, certContext ) { console.log("added host " + host); exp.use(vhost(host, app)); if (certContext) { // if we have a credential context, add it to our hashmap console.log("added certificates for " + host); sites[host] = certContext; } }
function mountHost(M, s, dir) { U.log('dir = ', path.join(dir, 'package.json')); var S = skeleton(M, s, dir) , hosts = require( path.join(dir, 'package.json') ).config.hosts[S.get('env')] ; U.log('mounting host'); for (var subhost in hosts ) { M.use( vhost(hosts[subhost], S) ); U.log('vhosts started for subhost ' + hosts[subhost]); } }
module.exports = function (app, config) { 'use strict'; // define virtual host (http://www.nodeigniterjs.loc:3000) if (config.env.server.virtualHost) { app.use(vhost(config.env.server.domain, app)); console.log('Virtual host activated. ' + config.env.server.domain + ':' + config.env.server.port); } else { console.log('Virtual host deactivated. ' + '127.0.0.1:' + config.env.server.port); } };
.then(function (res) { log.fine('init() :: All express instances initialized, moving on with main'); // body... var appApi = res[1]; var appWebserver = res[0]; // Discover proper port, Heroku exports it in an env var port; if (globals.isHeroku) { port = process.env.PORT; } else { port = config.webserver.port; } // Setup express this.app.set('port', port); // remove x-powered-by header this.app.set('x-powered-by', false); this.app.use(cookieParser()); this.app.use(bodyParser.json()); // Init websockets socketServer.init(webserver.http); // listen for websocket connections socketServer.listen(globals.WebsocketNamespace.WEBSITE); if (config.usevhosts) { socketServer.listen(globals.WebsocketNamespace.API); this.app.use(vhost(config.hostname.city, appApi)); } this.app.use(vhost(config.hostname.website, appWebserver)); // development only if (globals.isDev) { this.app.use(errorhandler()); } return webserver.start(this.app); });
function setupRoute (domain, config) { try { checkConfig(config, domain) config.s3bucket = config.s3bucket || DEFAULT_S3_BUCKET router.use(vhost(domain, function (req, res, next) { extend(req.params, config) formStores[config.formStore](req, res, next) })) } catch (e) { console.error(e.message) } }
module.exports = function (hostname, server) { if (typeof hostname === 'string') { // back-compat hostname = new RegExp('^' + hostname.replace(/[^*\w]/g, '\\$&').replace(/[*]/g, '(?:.*?)') + '$', 'i'); } if (typeof server !== 'function' && typeof server.emit === 'function') { // back-compat server = createEmitRequest(server); } return vhost(hostname, server); };
/** * Get web server. */ function getWebServer( ){ var d = ft.CONST.PATH_DELIMITER; var cfg = yaml.load( ft.getRootPath( ) + d + 'config.yaml' ); var srvCfg = cfg; regExpsMap = ft.getSubstitutionsMap( cfg, '', regExpsMap ); var webServer = express( ) .use( vhost( srvCfg.SERVER.SERVER_APP + '.' + srvCfg.SERVER.SERVER_DOMAIN, getAppServer( ) ) ) .use( vhost( srvCfg.SERVER.SERVER_TST + '.' + srvCfg.SERVER.SERVER_DOMAIN, getTstServer( ) ) ) .use( vhost( srvCfg.SERVER.SERVER_DEV + '.' + srvCfg.SERVER.SERVER_DOMAIN, getDevServer( ) ) ) .use( vhost( srvCfg.SERVER.SERVER_DOC + '.' + srvCfg.SERVER.SERVER_DOMAIN, getDocServer( ) ) ) .use( vhost( srvCfg.SERVER.SERVER_UT + '.' + srvCfg.SERVER.SERVER_DOMAIN, getUtServer( ) ) ) .use( ft.getRootPath( ), function( req, res, nxt ){ res.redirect( req.originalUrl.replace( ft.getRootPath( ), '' ) ); } ) .use( express.static( ft.getRootPath( ) ), function( ){ } ); return webServer; }
/** * Sets up WebID-related functionality (account creation and authentication) * * @param argv {Object} * @param app {Function} * @param ldp {LDP} */ function initWebId (argv, app, ldp) { config.ensureWelcomePage(argv) // Store the user's session key in a cookie // (for same-domain browsing by people only) const useSecureCookies = !!argv.sslKey // use secure cookies when over HTTPS const sessionHandler = session(sessionSettings(useSecureCookies, argv.host)) app.use((req, res, next) => { sessionHandler(req, res, () => { // Reject cookies from third-party applications. // Otherwise, when a user is logged in to their Solid server, // any third-party application could perform authenticated requests // without permission by including the credentials set by the Solid server. const origin = req.headers.origin const userId = req.session.userId if (!argv.host.allowsSessionFor(userId, origin)) { debug(`Rejecting session for ${userId} from ${origin}`) // Destroy session data delete req.session.userId // Ensure this modified session is not saved req.session.save = (done) => done() } next() }) }) let accountManager = AccountManager.from({ authMethod: argv.auth, emailService: app.locals.emailService, tokenService: app.locals.tokenService, host: argv.host, accountTemplatePath: argv.templates.account, store: ldp, multiuser: argv.multiuser }) app.locals.accountManager = accountManager // Account Management API (create account, new cert) app.use('/', API.accounts.middleware(accountManager)) // Set up authentication-related API endpoints and app.locals initAuthentication(app, argv) if (argv.multiuser) { app.use(vhost('*', LdpMiddleware(corsSettings))) } }
function httpServer(domain, port, path) { fs.stat(path, function(err, stats) { if(err || !stats.isDirectory()) { throw new Error('Directory ' + path + ' does not exist or is not readable'); } }); var app = connect(); app.use(serveStatic(path)); app.use(function(req, res) { res.statusCode = 404; res.end(); }); app.use(vhost(domain, app)); http.createServer(app).listen(port); }
task('server', () => { let server; const app = express(); app.use(vhost(hostname, startServer())); app.use(compression()); server = createServer(app); server.on('error', (err) => { if (err.code === 'EADDRINUSE') { log(`Proxy server is already started at port: ${proxyPort}`); } else { throw err; } }); server.listen(proxyPort); });
/* - vHost: Domain Server - joshkirklin.com */ var express = require('express'); var vhost = require('vhost'); var logger = require('morgan'); var app = express(); app.use(logger('dev')); app.use(vhost('code.joshkirklin.com', require('./hosts/code'))); app.use(vhost('games.joshkirklin.com', require('./hosts/games'))); app.use(vhost('*.joshkirklin.com', require('./hosts/www'))); app.use(vhost('joshkirklin.com', require('./hosts/www'))); /// catch 404 and forwarding to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); /// error handlers
home.set('jsonp callback', true); /* Testing headers */ home.use(function (req, res, next) { // Website you wish to allow to connect // res.header('Access-Control-Allow-Origin', '*'); // res.header("Access-Control-Allow-Headers", "X-Requested-With"); // Request methods you wish to allow //res.setHeader('Access-Control-Allow-Methods', 'GET'); // Pass to next layer of middleware next(); }); var hostname = 'localhost'; // Change this to your host name. app.use(vhost(hostname, home)); home.get('/', function(req, res) { //req.header('Access-Control-Allow-Origin', '*'); res.sendfile(__dirname + '/app/index.html'); req.io.route('home'); }) /* Outputs the users' ips visiting your website*/ app.io.route('home', function (req) { console.log(req.ip); }); /* Debug */ console.log(__dirname);
/* global global, __dirname */ var express = require('express'), app = express(), useragent = require('express-useragent'), compression = require('compression'), vhost = require('vhost'); global.$ = require('./_liv'); global.cfg = require('./cfg/node_cfg.json'); app.use(vhost(global.cfg.url, require('./node_servidor'))); app.disable('x-powered-by'); app.use(compression()); app.use(useragent.express()); app.listen(global.cfg.porta);
// site app - maps subdomains to site folders var siteApp = express(); siteApp.use((req, res) => { const siteCode = req.vhost[0]; req.originalUrl = req.url; let extension = ''; if (!req.url.endsWith('.html')) { extension = '.html'; } res.sendFile(__dirname + '/siteContent/' + siteCode + req.url + extension); }); // Vhost app var app = module.exports = express(); app.use(vhost(config.hostname, main)); // Serves top level domain via Main server app app.use(vhost(`*.${config.hostname}`, siteApp)); // Serves all subdomains via siteApp // the following is now handled in www/bin // // module.parent check is required to support mocha watch // // src: https://github.com/mochajs/mocha/issues/1912 // if (!module.parent) { // // listen on port config.port // app.listen(config.port, () => { // console.log(`kazuku server started on port ${config.port} (${config.env})`); // eslint-disable-line no-console // }); // } // //module.exports = app; module.exports = app;
}, pass: { form_pass: "", cook_pass: "" } }; //app 级全局变量 app.locals = locals; app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded app.use(bodyParser.json()); // for parsing application/json //app.use(multer()); // for parsing multipart/form-data var host = locals.hosts; //遍历各个子域名的启动文件 for (var key in host) { var name = host[key], path = './server/' + key; domain = require(path).app; //记录模板应用级变量 domain.locals = locals; app.use(vhost(name, domain)); if (process.env.PORT != "80") { host[key] += ":" + process.env.PORT } } if (locals.env.isDev) { app.use(logger('dev')); } app.listen(locals.env.port); module.exports = app;
var _ = require('lodash-node'); var conf = require('./conf'); var connect = require('connect'); var Cookies = require('cookies'); var vhost = require('vhost'); var app = connect(); var acom = connect(); var bcom = connect(); var sso = connect(); app .use(vhost('a.com', acom)) .use(vhost('b.com', bcom)) .use(vhost('sso.com', sso)); var routeHandler = function(name, req, res){ var cookies = new Cookies(req, res); cookies.set('token_'+name, name); cookies.set('token_'+name+'_domain', name+'_domain', { domain: name+'.com' }); res.write('<html>'); res.write('iframe: <iframe id="ssoIframe" src="http://sso.com:1337" width="300" height="100"></iframe><br>'); res.write('user action: <a href=\'javascript:sso=window.open("http://sso.com:1337", "sso", "width=300, height=100, menubar=0, status=0, titlebar=0, toolbar=0, location=0");setTimeout(function(){sso.close();document.getElementById("ssoIframe").src="http://sso.com:1337";},500)\'>login</a><br>'); res.write('host: ' + req.headers.host + '<br>'); res.write('token_'+name+': ' + cookies.get('token_'+name) + '<br>'); res.write('token_'+name+'_domain: ' + cookies.get('token_'+name+'_domain') + '<br>'); res.write('</html>'); res.end('\n'); }; acom.use(_.partial(routeHandler, 'a'));
var express = require('express'); var app = express(); var vhost = require('vhost'); var cornellarchives = require('./cornellarchives.com/app.js').app, legitly = require('./legitly.co/app.js').app; app.use(vhost('cornellarchives.com', cornellarchives)); app.use(vhost('legitly.co', legitly)); app.listen(3030);
}; // send mail with defined transport object mailTransporter.sendMail(mailOptions, function(error, info){ if(error){ return console.log(error); } console.log('Message sent: ' + info.response); res.send('Message sent: ' + info.response); }); }); // create "admin" subdomain...this should appear // before all your other routes var admin = express.Router(); app.use(vhost('admin.*', admin)); // create admin routes; these can be defined anywhere admin.get('/', function(req, res){ res.render('admin/home'); }); // add routes require('./routes.js')(app); // api var Attraction = require('./models/attraction.js'); var rest = require('connect-rest'); rest.get('/attractions', function(req, content, cb){
module.exports = function(config) { var app = express(); // Подключение нескольких тестовых статичных сайтов или поддоменов. var apps = { beta: express(), m: express(), mail: express(), player: express() }; for (var key in apps) { apps[key].use(express.static(__dirname + '/subdomains/' + key)); app.use(vhost(key + '.gdetus.io', apps[key])); app.use(`/subdomain/${key}`, apps[key]); // для тестирования субдомена на сервере разработки } // Сохраняем наш конфиг файл в приложении экспресса app app.locals.config = config; var databaseConfig = app.locals.config.database; app.disable('x-powered-by'); // - - - - - - - - - - - - - - - - - - - - - // блок базовых настроек // // - - - - - - - - - - - - - - - - - - - - - app.set('views', path.join(__dirname,'views')); app.set('view engine','ejs'); // определение моделей пользователя из архитектуры mvc var models = require("./models"); app.set('models', models); app.use(cookieParser()); app.use(bodyParser.urlencoded({ extended: true })); // Редирект на https app.use(function(req, res, next) { if (app.locals.config.https && req.protocol === "http") { res.redirect(`https://${req.hostname}${req.originalUrl}`); } else { next(); } }); app.use(expressValidator({ customValidators: require("./models/validators") })); // подключаем методы инициализации пользователя и его сессии app.use(passport.initialize()); app.use(passport.session()); app.use(passport.authenticate('remember-me')); app.use(require("./middlewares/session")); // - - - - - - - - - - - - - - -// // конец блока базовых настроек // // - - - - - - - - - - - - - - -// //блок подключения статики и файлов app.use(express.static(__dirname + '/static')); app.use("/blueimp-file-upload", express.static(path.dirname(require.resolve("blueimp-file-upload/package.json")))); //блок подключения ресурсов (rest)API var api = express(); api.resource('user-locations', require('./api/userLocations')); api.resource('current-location', require('./api/currentLocation')); api.resource('profile-avatar', require('./api/profileAvatar')); app.use("/api", api); //блок подключения основных контроллеров app.get('/file/:id', require("./controllers/file")); app.get('/im', require("./controllers/im")); app.get('/map', require("./controllers/map")); app.get('/digits', require("./controllers/digits")); app.use('/edit', require("./controllers/edit")); app.get('/lock', require("./controllers/lock")); app.get('/feed', require("./controllers/feed")); app.get('/payment', require("./controllers/payment")); app.get('/invoice', require("./controllers/invoice")); app.get('/settings', require("./controllers/settings")); app.get('/logout', require("./controllers/logout")); app.get('/profile', require("./controllers/profile")); app.get('/timeline', require("./controllers/timeline")); app.get('/achievements', require("./controllers/achievements")); app.post('/registration', require("./controllers/registration")); app.post('/passrestore', require("./controllers/passrestore")); app.post('/login', require("./controllers/login"), function(req, res, next) { // Issue a remember me cookie if the option was checked if (req.body.rememberme !== "true") return next(); var token = models.tokensRememberMe.generateToken(); models.tokensRememberMe.save(token, req.user.id).then(function() { res.cookie('remember_me', token, { path: '/', httpOnly: true, maxAge: 604800000 }); // 7 days next(); }).catch(function(err) { next(err); }); }, function(req, res, next) { res.send({ success: true, user: req.user }); }); //блок подключения завершающих контроллеров app.get('/:useruri', require("./controllers/useruri")); app.get('/', require("./controllers/index")); //контроллеры обработки ошибок app.use(require("./controllers/404")); app.use(require("./controllers/500")); return app; };
/* ROUTE subdomain to any of the files located in apps folder */ var connect = require('connect'); var vhost = require('vhost'); var app = connect(); // use OS variables to find where the apps are located // app.use(vhost('gba.atcore.co', require(process.env.GBA_APP).app)); // app.use(vhost('chat.atcore.co', require(process.env.CHAT_APP).app)); // app.use(vhost('atcore.co', require(process.env.CHAT_APP).app)); // both gba and chat must be express application // for now this is hardcoded but consider change it to OS variables gba = require('/server/gba/server'); chat = require('/server/chatastrofic/app'); app.use(vhost('gba.atcore.co', gba)); app.use(vhost('chat.atcore.co', chat)); app.use(vhost('atcore.co', chat)); var port = process.env.PORT || 3000; app.listen(port, function(){ console.log("Server started on port " + port); })
function createVirtualHost(domainName,dirPath){ var vHost = require(dirPath); return vhost(domainName,vHost); }
if (crit) crit = JSON.parse(decodeURIComponent(crit)) hub.requestMaster('filter', crit, result => res.send(result)) }) //CATCH ALL... this will also redirect old image reqs to a page though... app.get('/*', (req, res) => { //i could test the mime type of the path? res.redirect("/#/search") }) var vhost = require('vhost') var nspike = require('./nuclearspike_com') main.use(vhost('www.nuclearspike.com', nspike)) //use regex instead. main.use(vhost('nuclearspike.com', nspike)) main.use(vhost('nuclearspike.local', nspike)) //serveStatic(__dirname + '/nuclearspike_com/public', {maxAge: '1d'})) main.use(vhost('localhost', app)) main.use(vhost('kivalens.org', app)) main.use(vhost('www.kivalens.org', app)) main.listen(main.get('port'), function() { console.log('KivaLens Server is running on port', main.get('port')) }) /** JSON Parser, custom deserialization COOL! const bufferParse = (key, value) => { return value && value.type === 'Buffer'