Apache: как обслуживать как PHP, так и NodeJS - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть сайт PHP https://example.com. У меня есть поддомен приложения стека MEAN http://team.example.com. Он использует API, предоставляемые nodejs для порта 3000.

Я сталкиваюсь с проблемой, когдазапуск приложения в http://team.example.com, где API-интерфейс Nodejs недоступен.

добавил следующее в файл конфигурации Apache:

ProxyPass / node / http://localhost:3000/

Я отправляю запрос API с угловой стороны со следующими данными:

team.example.com / node / users / login

API-интерфейсы успешно получены через почтальона, но не работают в браузере

Как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Blockquote

Для использования прокси необходимо включить модуль прокси в apache. После этого перезапустите апач.

Если вы используете Ubuntu OS, выполните следующую команду

sudo a2enmod proxy && sudo a2enmod proxy_http

После этого вы должны запустить

sudo service apach2 restart.

0 голосов
/ 04 апреля 2019

Я думаю, что у вас CORS проблема, я предполагаю, что вы используете Express Framework в вашем сервисе узла.Посмотрите следующий пример кода, чтобы узнать, как решить проблему CORS для браузера.

var http = require('http');
var express = require('express');
var app = express();

app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', "*");
  res.header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE,OPTIONS'); 
  res.header('Access-Control-Allow-Headers', 'Content-Type'); 
  next();
});

app.post('/test-cors', function (req, res) {
  res.set('Content-Type', 'application/json');
  res.send(JSON.stringify({ 'status': "OK" }));
});

// Create http server and run it
var server = http.createServer(app);

server.listen(8081, function() {
    console.log("Listening on 8081");
});

В приведенном выше примере кода вам необходимо сосредоточиться на следующих строках кода:

app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', "*");
  res.header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE'); 
  res.header('Access-Control-Allow-Headers', 'Content-Type'); 
  next();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...