当前位置 : 主页 > 网页制作 > Nodejs >

node.js – VirtualHost不重定向

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在尝试使用VirtualHost将http://eamondev.com:3000重定向到https://omniatm.eamondev.com.我正在使用node来为http://eamondev.com:3000提供网站服务.我正在使用vhost与节点这样: app.use(vhost('omniatm.eamondev.c
我正在尝试使用VirtualHost将http://eamondev.com:3000重定向到https://omniatm.eamondev.com.我正在使用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>

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

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

我已经引用了大部分有关此问题的stackoverflow问题,但没有任何工作.我应该提一下(虽然我不确定它是如何相关的,我只是在我看到的stackoverflow问题中看到它),我的托管支持(bluehost)使用WHM来设置通配符ssl证书来制作omniatm .eamondev.com子域名https.

如何使用apache(或vhost)将http://eamondev.com:3000重定向到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/$1"
   </If>
</VirtualHost>
网友评论