【发布时间】:2020-02-15 23:42:36
【问题描述】:
我花了很多时间阅读教程和解决方案,展示了如何使用 ProxyPass 指令让节点在 apache 后面工作,但是当访问该站点时,它显示页面内容(代码)而不是 执行。这里有一些背景: - 这是我的 apache vhost 文件:
<VirtualHost *:80>
ServerName mysite.com
DocumentRoot /var/www/mysite
DirectoryIndex app.js
<proxy>
Order deny,allow
Allow from all
</proxy>
ProxyPreserveHost on
ProxyRequests off
<Location /var/www/mysite>
ProxyPass http://localhost:3000
ProxyPassReverse http://localhost:3000
</Location>
ErrorLog ${APACHE_LOG_DIR}/mysite.error.log
CustomLog ${APACHE_LOG_DIR}/mysite.access.log combined
</VirtualHost>
我正在将这些模块加载到 Apache:proxy_module 和 proxy_http_module。 (我什至尝试加载 proxy_http2_module,但什么也没做。)
对于这个测试,我通过加载 express 运行节点:“node app.js”。这是运行服务器的 app.js 底部的代码:
<snip>
//Start server
app.listen(process.env.PORT || 3000, function () {
console.log("Server started on port 3000");
});
- 当我在服务器上使用 lynx http://localhost:3000 的命令行访问该站点时,该站点加载!
似乎没有这方面的任何信息 - 我们将不胜感激。
【问题讨论】: