Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache httpd-多端口上的反向代理_Apache_Httpd.conf_Conf.d - Fatal编程技术网

Apache httpd-多端口上的反向代理

Apache httpd-多端口上的反向代理,apache,httpd.conf,conf.d,Apache,Httpd.conf,Conf.d,我想做的是采取以下措施: http://localhost:10000 http://localhost:11000 http://localhost:12000 并按如下方式分别对其进行布线: http://my-app (this is port 10000 traffic) http://my-app/app (this is port 11000 traffic) http://my-app/blog (this is port 12000 traffic) 这是我的conf.d文

我想做的是采取以下措施:

http://localhost:10000
http://localhost:11000
http://localhost:12000
并按如下方式分别对其进行布线:

http://my-app (this is port 10000 traffic)
http://my-app/app  (this is port 11000 traffic)
http://my-app/blog (this is port 12000 traffic)
这是我的conf.d文件-

<VirtualHost *:80>
  ServerName my-app.domain.com
  ServerAlias my-app

  Redirect / https://my-app.domain.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName my-app.domain.com
  ServerAlias my-app

  Include ssl/default/ssl.cfg

  RewriteEngine On
  ProxyRequests Off
  ProxyPreserveHost On
  RemoteIPHeader X-Forwarded-For
  RequestHeader set X-FORWARDED-SSL on
  RequestHeader set X-FORWARDED_PROTO https


  ProxyTimeout 900
  TimeOut 900

  RewriteRule ^$ / [R]

  ProxyPass / http://localhost:10000/
  ProxyPassReverse / http://localhost:10000/

  RewriteRule ^/app/(.*) http://localhost:11000/$1 [P,L]
  ProxyPassReverse /app/ http://localhost:11000

</VirtualHost>

服务器名my-app.domain.com
服务器别名我的应用程序
重定向/https://my-app.domain.com/
服务器名my-app.domain.com
服务器别名我的应用程序
包括ssl/default/ssl.cfg
重新启动发动机
代理请求关闭
代理主机
RemoteiPeader X-Forwarded-For
RequestHeader在上设置X-FORWARDED-SSL
RequestHeader集合X-FORWARDED_协议https
代理超时900
超时900
重写规则^$/[R]
ProxyPass/http://localhost:10000/
ProxyPassReverse/http://localhost:10000/
重写规则^/app/(*))http://localhost:11000/$1[P,L]
ProxyPassReverse/应用程序/http://localhost:11000

re direct适用于初始端口,但不适用于前往端口11000的流量。我确信我在做一些愚蠢的事情,但我不知道是什么。

使用proxypass时,需要首先指定最“特定”的路径, 首先指定/blog//app/然后指定/。如果不这样做,ProxyPAss/将覆盖其他


RewriteRule^$/[R]
+1我更改了ProxyPass的位置,以使最特定的路径显示在“ProxyPass/…”之前。在浏览了几个小时的文档之后,这解决了我的问题
ProxyPass /app/ http://localhost:11000/
ProxyPassReverse /app/ http://localhost:11000/

ProxyPass /blog/ http://localhost:12000/
ProxyPassReverse /blog/ http://localhost:12000/

ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/