gpt4 book ai didi

node.js - Apache 反向代理设置(用于 Node.js 应用程序)不起作用?

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:55 24 4
gpt4 key购买 nike

我正在尝试做什么

运行命令 (export PORT=3000 && node server.js) 后,我的 Node.js 应用程序 ( StackEdit ) 位于:http://example.com: 3000/.

考虑到 Apache 已在服务器上使用端口 80,命令 (export PORT=80 && node server.js) 将不起作用。

由于我是 Node.js 的新手,让 Node.js 应用程序在 http://example.com/(即端口 80)上可用的一种简单方法是设置 Apache作为反向代理。

这是我尝试过的

/etc/apache2/sites-available/example.com.conf

试用(1):

<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/public
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/editor.aahanblog.com/logs/access.log combined

ProxyPass / http://example.com:3000/
ProxyPassReverse / http://example.com:3000/
</VirtualHost>

这仅显示 public 目录的目录列表。因此,在这种情况下,请求不会到达 Node.js 应用程序。

试用(2):

<VirtualHost *:80>
ServerName example.com
ServerAlias *.example.com
DocumentRoot /var/www/example.com/public
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined

ProxyRequests off

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

<Location /var/www/example.com/public>
ProxyPass http://mydomain:3000/
ProxyPassReverse http://mydomain:3000/
</Location>
</VirtualHost>

这也行不通。它带我到一些默认的 apache 页面。

我在这里缺少什么?

最佳答案

将您的位置指令更改为

<Location /> from <Location /var/www/example.com/public>

基本上,Location 指令是 URL 路径部分的前缀

关于node.js - Apache 反向代理设置(用于 Node.js 应用程序)不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32661829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com