Получить клиентский домен из запроса в node.js & express.js - PullRequest
1 голос
/ 08 октября 2019

Я бы хотел получить домен хоста клиента на бэкэнд-стороне. например,

) На стороне внешнего интерфейса отправьте набор настроек api внутреннему интерфейсу с помощью ajax.

$.get('http://localhost:4000/auth');

На бэкэнде мне это понравилось.

// routes/auth.js

router.get('/', (req, res) => {
  console.log(req.headers.referer);
...
});
...
module.exports = router;

Это мой app.js в бэкэнде.

const express = require('express');
const app = express();
const authRoutes = require('./routes/auth.js');
...
app.use(bodyParser.json());
app.use(passport.initialize());
app.use(passport.session());
app.use('/auth', authRoutes);
...

Ожидаемый результат:

localhost:3000

Текущий результат:

undefined

Показывает URL-адрес бэкенда.

Когда я сделал console.log (req.headers), он выглядит следующим образом.

  • Запрос от почтальона
{ 'user-agent': 'PostmanRuntime/7.17.1',
  accept: '*/*',
  'cache-control': 'no-cache',
  'postman-token': '5eb5791e-3a5a-4285-83c9-33320d935a2e',
  host: 'localhost:4000',
  'accept-encoding': 'gzip, deflate',
  cookie:
   'connect.sid=s%3A5DIRzqn5HVL3vra410YJ6I56uo9qIj2M.6OWL8rKr1peEMz60sakejaeJJNgv5LQFUKypA6cCXLQ',
  connection: 'keep-alive' }
  • Запрос от Frontend
{ host: 'localhost:4000',
  accept: '*/*',
  'content-type': 'application/json' }

Есть ли что-то, что я сделал не так? Пожалуйста, кто-нибудь поможет мне.

1 Ответ

0 голосов
/ 08 октября 2019

Заголовок запроса Referer содержит адрес предыдущей веб-страницы, с которой была получена ссылка на запрашиваемую в данный момент страницу.

документы

Или, другими словами, нажмите кнопку ОК где-нибудь в http://localhost:4000, что относится к http://localhost:5000, затемreferer будет установлен.

Или, может быть, referer не совсем то, что вы ищете. Взгляните на host.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...