Я создаю задачу gulp, которая запускает экспресс-сервер. Чтобы заставить сайт работать, мне нужно перенаправить запросы от locahost на определенный IP-адрес.Переадресация вызовов API
Это то, что я прямо сейчас:
var rewrite = require("connect-url-rewrite");
gulp.task('express', function() {
var express = require('express');
var app = express();
var rules = [
"^localhost\/(.*)$ 192.168.1.1\/$1"
];;
app.use(require('connect-livereload')({
port: 35729
}));
app.get('api/v1', function(req, res, next) {
res.redirect('http://192.168.1.1:8090'+req.originalUrl);
});
app.use(rewrite(rules));
app.use(express.static(__dirname));
app.listen(8090);
});
Когда я делаю запрос на локальный: 8090/API Я хочу редирект на 192.168.1.1:8090/api.
Как я могу переписать имя хоста? Единственное, что я получаю, это переписать путь.
Update:
Когда я добавить перенаправление запроса будет отменено. Как передать все заголовки в объект res?
Это переписывание промежуточного программного обеспечения [переписывает 'req.url'] (https://github.com/loopj/connect-url-rewrite/blob/a2861c4849bbfd8c50edf77259caa877f4ad642a/lib/index.js#L14), который содержит только путь. Я думаю, вам нужно будет использовать 'res.redirect'. – vesse
См. Мой обновленный вопрос. –
Является ли запрос вы говорите о некоторых материалах AJAX? Если это так, запрос отменяется, потому что это будет запрос перекрестного происхождения. Что вы пытаетесь достичь? Ваш вопрос, например. «Как я могу использовать прокси-сервер AJAX для поддержки с помощью Gulp при разработке интерфейса на локальном хосте»? – vesse