将apache服务器路由到express.js服务器

时间:2019-11-15 08:13:13

标签: node.js apache express proxy routing

我建立了一个节点快递服务器。它运行起来没有任何麻烦:http://uniformflow.com

const app = express();
const port = process.env.PORT || 3000;
app.listen(port, () => console.log('listening on ' + port));

最近,我从letsencrypt获得了ssl证书。我最终有了一个安全的工作apache服务器,您可以在https://www.uniformflow.com

进行检查

在这一点上,我假设我的快递服务器正在监听http端口。当有人通过https端口发送请求时,它将转到我的apache服务器/ var / www目录。我应该如何将该请求路由到我的节点服务器?

1 个答案:

答案 0 :(得分:0)

在Apache中,没有对节点的模块支持,例如php或perl。因此,您应该使用Apache代理模块。您可以使用sudo a2enmod proxy proxy_http启用它,然后在/etc/apche2/sites-availables中更改其配置:

<VirtualHost *:80>
    ServerAdmin admin@uniformflow.com
    ServerName uniformflow.com
    ServerAlias www.uniformflow.com 

    ProxyRequests off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <Location />
        ProxyPass http://localhost:3000/
        ProxyPassReverse http://localhost:3000/
    </Location>
</VirtualHost>

然后您应该重新启动apache服务器。 我认为最好使用Nginx,它非常容易,而且我还为您处理ssl连接。