VirtualHost не перенаправляет - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь перенаправить http://eamondev.com:3000 на https://omniatm.eamondev.com с помощью VirtualHost. Я использую node для обслуживания сайта на http://eamondev.com:3000. Я использую vhost с таким узлом:

app.use(vhost('omniatm.eamondev.com', express.static('/')));

Я никогда не использовал vhost, и мне потребовалось некоторое время, чтобы понять это, не разбирая весь мой код, как будто я работал с более чем одним сайтом (когда у меня нет), поэтому я не уверен если это именно так, как должно работать перенаправление Apache.

В моем файле apache conf у меня есть:

<VirtualHost *:80>
ServerName omniatm.eamondev.com
ProxyPreserveHost on
ProxyPass / http://localhost:3000/
</VirtualHost>

Я также использую WHM на VPS, я не уверен, уместно ли это, но ServerName (с протоколом, который я набираю в браузере) должно быть https://omniatm.eamondev.com.

Я не могу обслуживать node на порту 80 моего сервера (а затем перенаправить на поддомен), потому что мой основной сайт (http://eamondev.com) работает на порту 80.

Я ответил на большинство вопросов об стеке потока, и ничего не помогло. Я должен упомянуть (хотя я не уверен точно, насколько это уместно, я только видел это в вопросе stackoverflow, на который я смотрел), моя поддержка хостинга (bluehost) использовала WHM, чтобы установить вещи с подстановочным знаком ssl сертификат для создания omniatm.eamondev.com субдомена https.

Как перенаправить http://eamondev.com:3000 на https://omniatm.eamondev.com, используя apache (или vhost)?

1 Ответ

0 голосов
/ 18 ноября 2018

Передача прокси, как указано в вопросе, не будет выполнять никаких перенаправлений, вместо этого он сохранит URL-адрес как таковой и прокси-контент из других источников. В конфигурации Apache у нас есть возможность делать перенаправления, в приведенном ниже примере мы проверяем хост и на основании него выдаем перенаправление на нужный URL

<VirtualHost *:80>
    ServerName omniatm.eamondev.com
    Redirect / https://omniatm.eamondev.com
    <If "%{HTTP_HOST} != 'eamondev.com:3000'">
     Redirect "^/?(.*)"  "https://omniatm.eamondev.com/$1"
   </If>
</VirtualHost>
...