@Scorpiored88

Как разрешить доступ к сайту определенным ip на сервере node express?

Под это нашел модуль express-ipfilter.
в описании сказано :
// Init dependencies 
var express = require('express')
    , ipfilter = require('express-ipfilter')
    , app = express.createServer()
    ;
 
// Whitelist the following IPs 
var ips = ['127.0.0.1'];
 
// Create the server 
app.use(ipfilter(ips, {mode: 'allow'}));
app.listen(3000);


но так как я новичок и только начинаю в этом всем разбираться, у меня пока не получается прикрутить это к моему express :(

у меня есть 2 файла : app.js и www.js

app :

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');



var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views/'));
app.set('view engine', 'ejs');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/users', users);

…..


и www :

var app = require('../app');
var debug = require('debug')('dataBase:server');
var http = require('http');


/**
 * Get port from environment and store in Express.
 */
var serverIP = '10.10.12.120'
var port = normalizePort(process.env.PORT || '3007');
app.set('port', port);

/**
 * Create HTTP server.
 */

var server = http.createServer(app);

/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port,serverIP);
server.on('error', onError);
server.on('listening', onListening);
…….


Подскажите,как мне прикрутить этот модуль ?
Или может он вовсе не нужен, и есть другой,куда правильнее способ?
  • Вопрос задан
  • 927 просмотров
Пригласить эксперта
Ответы на вопрос 3
@ChickenGrinder
Эт оможно сделать в любом месте где есть доступ к экземляру приложения (в коде это переменная `app`).
Лучше подключать все мидлвары в одном месте, т.е. вашем случае это `app.js`
Ответ написан
Комментировать
un1t
@un1t
express в проде стоит за nginx, в nginx это леко настраивается.
Ответ написан
Комментировать
@Scorpiored88 Автор вопроса
Я также нашел в сети вот это :
req.connection.remoteAddress

Возвращает ip клиента который запрашивает страницу.
А если в роухтах банально делать проверку этого параметра, и определенному клиенту отправлять определенный контент.Будет ли это правильно?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
summer Ярославль
от 100 000 до 140 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект