Я создаю веб-приложения, используя NodeJS и ExpressJS, я использую сервер https.Я хотел бы, чтобы все устройства, подключенные к одной и той же сети, не вводили IP-адрес локального хоста, а вместо этого могли вводить, например: https://SmartphoneMonitoring.com и были бы перенаправлены на серверный скрипт localhost
:
var connections = [];
var express = require('express');
var bodyParser = require('body-parser')
var expressValidator = require('express-validator');
var hbs = require('hbs'); //handlebars
var session = require('express-session');
var cookieParser = require('cookie-parser');
var fs = require('fs');
var routes = require('./routes/router');
var https = require('https');
var path = require('path');
var mysql = require('mysql');
var dns = require('dns');
dns.resolve4('www.google.com', function (err, addresses) {
if (err) throw err;
console.log('addresses: ' + JSON.stringify(addresses));
addresses.forEach(function (a) {
dns.reverse(a, function (err, domains) {
if (err) {
console.log('reverse for ' + a + ' failed: ' + err.message);
} else {
console.log('reverse for ' + a + ': ' + JSON.stringify(domains));
}
});
});
});
var databasePort = 3306;
var dataBaseName = 'BazaDanych';
const db = mysql.createConnection({
host: 'localhost',
user: 'root',
port: databasePort,
database: dataBaseName
});
setTimeout(function(){connectToDB()},1000);
function connectToDB(){
db.connect((err) =>{
if(err){
console.log(err);
} else {
console.log('Połączono z bazą danych na porcie: ' + databasePort)
}
});
};
var app = express();
const httpsOptions = {
cert: fs.readFileSync(path.join(__dirname, 'ssl', 'server.crt')),
key: fs.readFileSync(path.join(__dirname, 'ssl', 'server.key'))
};
var server = https.createServer(httpsOptions, app);
var io = require('socket.io', { rememberTransport: false, transports: ['WebSocket', 'Flash Socket', 'AJAX long-polling'] }).listen(server);
app.set('views', (__dirname, 'views'));
app.set('view engine', '.hbs');
hbs.registerHelper('json', function(obj){
return new hbs.SafeString(JSON.stringify(obj));
})
//Partials
const partialsDir = __dirname + '/views/partials';
const filenames = fs.readdirSync(partialsDir);
filenames.forEach(function (filename) {
const matches = /^([^.]+).hbs$/.exec(filename);
if (!matches) {
return;
}
const name = matches[1];
const template = fs.readFileSync(partialsDir + '/' + filename, 'utf8');
hbs.registerPartial(name, template);
});
//Partials
hbs.registerHelper('ifequal',function(a, b,options)
{
if (a==b){
return options.fn(this);
} else {
return options.inverse(this);
}
});
var serverPort = 3030;
server.listen(serverPort, function(){
console.log("Połączono z serwerem na porcie: " + serverPort);
})
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(expressValidator());
app.use(cookieParser());
app.use(session({
key: 'user_sid',
secret: 'fsdfdsfsdfsdfsdfsdf',
resave: false,
saveUninitialized: false
}));
app.use('/', routes);
Я пытался получить эффект с помощью DNS, но он не принес ожидаемых результатов.