gpt4 book ai didi

通过端口 80 访问的不同端口上本地主机上的 Web 应用程序

转载 作者:行者123 更新时间:2023-12-04 21:50:06 25 4
gpt4 key购买 nike

在我的笔记本电脑上,使用 Apache

我的笔记本电脑上的不同目录中有不同的网络应用程序,我可以开始使用简单的网络服务器监听不同的端口。例如

~/app1/./app.pl
>> listening on http://localhost:3000/

~/app2/./app.pl
>> listening on http://localhost:3001/

~/app3/./app.pl
>> listening on http://localhost:3001/

我想像这样从我的浏览器访问上面的内容

http://localhost/app1
http://localhost/app2
http://localhost/app3

我可以用 mod_proxy 做上面的事情吗?如果是,怎么办?

更新:我必须补充一点,我在 Google 上搜索了 mod_proxy,阅读了 Apache 网站上的教程,并尝试了以下内容

在我的 httpd.conf 中取消注释以下内容

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so

在我的 httpd.conf 中添加了以下内容

<IfModule mod_proxy.c>
ProxyRequests On
ProxyPass /app1 http://localhost:3000/
ProxyPassReverse /app1 http://localhost:3000/
ProxyPass /app2 http://localhost:3001/
ProxyPassReverse /app2 http://localhost:3001/
ProxyPass /app3 http://localhost:3002/
ProxyPassReverse /app3 http://localhost:3002/
</IfModule>

然而,当我尝试访问上述应用程序时收到 HTTP 404。

最佳答案

我会使用 mod_rewrite 和 mod_proxy 来做到这一点。例如(以下规则进入您的 VirtualHost 配置):

RewriteEngine On
RewriteRule ^/app1(.*)$ http://localhost:3000/$1 [P]
RewriteRule ^/app2(.*)$ http://localhost:3001/$1 [P]
RewriteRule ^/app3(.*)$ http://localhost:3002/$1 [P]

这些规则使用 mod_rewrite 的 [P] 标志来代理请求。你需要做通过添加/取消注释,确保 mod_proxy、mod_proxy_http 和 mod_rewrite 都加载到您的主要 apache 配置中:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

关于通过端口 80 访问的不同端口上本地主机上的 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2403227/

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