Node.js 将apache服务器路由到express.js服务器
我构建了一个node express服务器。它运行起来没有任何问题: 最近,我从letsencrypt获得了一个ssl证书。我最终拥有了一个安全的apache服务器,您可以在Node.js 将apache服务器路由到express.js服务器,node.js,apache,express,proxy,routing,Node.js,Apache,Express,Proxy,Routing,我构建了一个node express服务器。它运行起来没有任何问题: 最近,我从letsencrypt获得了一个ssl证书。我最终拥有了一个安全的apache服务器,您可以在 此时,我假设我的express服务器侦听http端口。当有人使用https端口发送请求时,它会进入我的apache服务器/var/www目录。我应该如何将这些请求路由到我的节点服务器?在Apache中,像php或perl这样的节点没有模块支持。所以您应该使用Apache代理模块。您可以使用sudo a2enmod prox
此时,我假设我的express服务器侦听http端口。当有人使用https端口发送请求时,它会进入我的apache服务器/var/www目录。我应该如何将这些请求路由到我的节点服务器?在Apache中,像php或perl这样的节点没有模块支持。所以您应该使用Apache代理模块。您可以使用
sudo a2enmod proxy\u 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>
服务器管理员admin@uniformflow.com
ServerName uniformflow.com
ServerAlias www.uniformflow.com
代理请求关闭
命令拒绝,允许
通融
ProxyPasshttp://localhost:3000/
ProxyPassReversehttp://localhost:3000/
然后应该重新启动apache服务器。
在我看来,使用Nginx更好,它非常简单,我还可以为您处理ssl连接。感谢您的快速回复,我已经在几本指南中看到了a2enmod。我正在使用AmazonLinux2AMI,它给了我一个错误:sudo:a2enmod:command-notfound.@Meriçcheckout this
<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>