Apache和nodejs公用80端口的问题

发布于 2022-08-29 21:25:03 字数 505 浏览 20 评论 0

Apache开启反向代理,启用的vhost文件为

<VirtualHost *:80>
  ServerAdmin admin@gmail.com
  ServerName localhost
  ServerAlias localhost

  ProxyRequests off

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

  <Location />
    ProxyPass http://localhost:9000/
    ProxyPassReverse http://localhost:9000/
  </Location>


</VirtualHost>

但这样代理的效果是,所有80端口的请求都被nodejs接受了,Apache上其他的目录没法访问。怎样能做到Apache和nodejs真正公用80端口呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

暖伴 2022-09-05 21:25:03

这是我们在项目中用到的一个转发,实践证明是不会将所有的80端口都转发到9000,这是基于域名来判断是否需要转发,可以参考下。

<VirtualHost *:80>
    ServerName www.test.com
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:9000/
    ProxyPassReverse / http://127.0.0.1:9000/
</VirtualHost>
心奴独伤 2022-09-05 21:25:03

通过

ServerName ooxx.com
ServerAlias *.ooxx.com

来区分。

等你爱我 2022-09-05 21:25:03

最好通过是使用不同的域名来进行区分

风蛊 2022-09-05 21:25:03
<VirtualHost *:80>
  ServerAdmin admin@gmail.com
  ServerName localhost
  ServerAlias localhost

  ProxyRequests off
  DocumentRoot /path/to/document_root
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  <Location />
    ProxyPass / http://localhost:9000/
    ProxyPassReverse / http://localhost:9000/
    ProxyPass /forward/no_reverse_proxy !
  </Location>


</VirtualHost>

此时,/path/to/document_root/forward/no_reverse_proxy 目录下的网页(或php文件)会被(解析并)显示.也就是说http://localhost/forward/no_reverse_proxy没有被反代

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文