VirtualHost 不重定向

VirtualHost not redirecting

我正在尝试使用 VirtualHosthttp://eamondev.com:3000 重定向到 https://omniatm.eamondev.com。我正在使用 nodehttp://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>

我也在 VPS 上使用 WHM,我不确定这是否相关,但是 ServerName(使用协议,我在浏览器中输入的内容)需要是 https://omniatm.eamondev.com.

我无法在我服务器的端口 80 上提供 node 服务(然后重定向到子域),因为我的主站点 (http://eamondev.com) 在端口 运行 上=24=].

我已经参考了大多数关于此的 Whosebug 问题,但没有任何效果。我应该提一下(虽然我不确定它到底有什么关系,我只是在我看过的一个 Whosebug 问题中看到它),我的托管支持 (bluehost) 使用 WHM 来设置通配符 ssl 证书,用于创建 omniatm.eamondev.com 子域 https.

如何使用 apache(或 vhost)重定向 http://eamondev.com:3000 to https://omniatm.eamondev.com

问题中给出的代理传递不会进行任何重定向,而是会保留 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/"
   </If>
</VirtualHost>