node.js, чтобы не влиять на мой поддомен, работающий на apache - PullRequest
0 голосов
/ 10 марта 2020

Конфигурация нашего сервера:

  • Apache Версия: 2.4.41
  • PHP Версия: 5.6.40
  • Операционная система: linux

Кроме того, у нас есть node.js, где я отображаю сборку приложения с помощью следующего. js поверх прокси-сервера для просмотра сайта.

Ну, этот прокси влияет на мой поддомен , и я хочу, чтобы apache справился с этой ситуацией, а не node.js (прокси).

У меня нет Возможность vhost, это конфигурация общего хостинга.

Текущий сервер. js

const express = require('express');
const next = require('next');
const { parse } = require('url');
const nextI18NextMiddleware = require('next-i18next/middleware');
const nextI18next = require('./i18n');

const dev = process.env.NODE_ENV !== 'production';
const PORT = process.env.PORT || 7001;
const HTTP_HOST = process.env.HTTP_HOST || '127.0.0.1';

const app = next({dir: '.', dev });
const handle = app.getRequestHandler();

const getRoutes = require('./routes');

const routes = getRoutes();

(async () => {
    await app.prepare();
    const server = express();

    server.use(nextI18NextMiddleware(nextI18next));

    server.get('*', (req, res) => {
        const parsedUrl = parse(req.url, true);
        const { pathname, query = {} } = parsedUrl;
        const route = routes[pathname];
        if (route) {
            return app.render(req, res, route.page, query);
        }
        return handle(req, res);
    });



    await server.listen(PORT, HTTP_HOST,(err) => {
        if (err) throw err;
        console.log(`> Ready on http://${HTTP_HOST}:${PORT}`);
    });
    // console.log(`> Ready on http://localhost:${PORT}`) // eslint-disable-line no-console
})();
...