Articles of mod proxy

使用apache 2.4 + http2 + proxy_http进行file upload的问题

我目前正在尝试为一个项目启用http2。 系统在启用了proxy_protocol的ELB后面的AWS上的Ubuntu 16.04上运行。 该站点仅使用Apache 2.4从ppa:ondrej / apache2以mpm_event模式运行SSL,并使用tomcat 7作为后端。 虚拟主机configuration是: <VirtualHost *:443> ProxyProtocol On ServerName myhostname DocumentRoot /var/www/html/ <Directory /var/www/html/> Options +FollowSymLinks -Indexes AllowOverride None Require all granted </Directory> <Location /> Require all granted </Location> Header always set Strict-Transport-Security "max-age=86400" RequestHeader set X-Forwarded-Proto https SSLEngine On SSLCertificateFile mycrt SSLCertificateKeyFile mykey ProxyTimeout 1800 ProxyPreserveHost on ProxyPass / […]

在CentOS 7服务器重新启动后,htaccess代理会重写停止工作

我在CentOS 7,EasyApache 4.我有一些.htaccess重写,如下所示: RewriteRule ^slug/(.*)$ http://mybucket.s3-website-us-east-1.amazonaws.com/slug/$1? [P,L] 为了重写我的s3桶的静态文件的请求。 这工作正常,直到我重新启动服务器,然后停止工作。 Apache正在运行,网站加载,但所有在/ slug文件请求获得​​404s。 但是,如果我然后手动重新启动Apache,它开始再次工作,图像加载。 我正在使用[P]标签,以便所有文件都在本地服务器上的SSL证书下。 任何想法可能会发生在这里? 即使你有一个提示如何开始排除故障,这将帮助我很多。 谢谢!

反向代理redirect到主域

我正在努力与基本的Apache反向代理设置。 我有几个网站在一个盒子上运行。 现在我在主域名下build立一个子域名,我想从其他网站获取。 但是,由于某种原因,对子域的请求总是301redirect到主域。 我激活dumpio日志logging( 我怎样才能启用通过mod代理请求的日志logging ),但不能看到我请求页面时进来的任何错误。 子域的虚拟主机如下所示: <VirtualHost *:*> LoadModule dumpio_module modules/mod_dumpio.so DumpIOInput On DumpIOOutput On #DumpIOLogLevel debugLogLevel debug ProxyPreserveHost On # Servers to proxy the connection, or; # List of application servers: # Usage: # ProxyPass / http://[IP Addr.]:[port]/ # ProxyPassReverse / http://[IP Addr.]:[port]/ # Example: ProxyPass / http://sub.example.com:8080/ ProxyPassReverse / http://sub.example.com:8080/ </VirtualHost>

apache 2.4.6 vhosts + mod_proxy获取AH00872:APR_BUCKET_IS_EOS

我使用VH和代理服务多个后端tomcat实例。 目前正在用JSP文件追赶这个问题。 代理通过ajp:// localhost:8009 / MYAPPTAG /获取tomcat的正确URL。 我在日志中看到连接已经完成。 然而,被调用的JSP似乎没有做任何事情,只是默默地失败了。 AH01628:授权结果:授权(无指令)AH01143:运行schemeajp处理程序(尝试0)AH00895:服务URL ajp://localhost/tomcat-context/code.jsp AH00944:将ajp://localhost/tomcat-context/code.jsp连接到本地主机:8009 AH00947:连接/tomcat-context/code.jsp到本地主机:8009 AH00872:APR_BUCKET_IS_EOS AH00873:要读取的数据(最多8186 4)AH00875 :得到0字节的数据AH00892:得到[:: 1]的响应:8009(本地主机) 我很难过 任何指针在哪里/如何debugging呢? 哦,因为我知道绝对零HTML,这个职位将被打破。 -weq

Apache将相对URL重写为应用程序

我有Web应用程序运行在本地主机上,并侦听端口5050.我想这个Web应用程序下的URL相对pathdomain.tld / page /应用程序 我试图使用mod_rewrite: <Location /page/app> RewriteEngine on RewriteRule .*$ http://127.0.0.1:5050/$1 [P,QSA,NE] </Location> 这将domain.tld / page / app重写为domain.tld / login,这不是我服务器上的有效URL。 是否有可能扭转重写? 我无法使用ProxyPassReverse,因为当我将请求代理到应用程序时,需要从URL中删除相对path。

configuration双网卡的SSL反向代理

在单独的VLAN中使用DUAL NICconfiguration反向代理时,是通过apache完成的NIC之间的数据卸载,Solaris上的路由还是反向代理? 我正在build立一个Apache的反向代理,几乎确切的复制stream在下面的图中,我从类似的查询( https://askubuntu.com/questions/696781/two-nics-and-routing-between-the-interfaces ) 反向代理布局 反向代理是:Solaris 11 RP有一个带有域名/ DNS / SSL证书的外部NIC(eth0 – 192.168.1.10)。 连接到该地址成功检索RP盒上的数据(pre-RP设置。) RP还有一个连接到Web服务器(192.168.2.12)的内部NIC(eth1 – 192.168.2.10)。 eth0没有直接访问Web服务器,意图(networking分离)。 Web服务器有自己的SSL证书,并有一个入口点(端口443)到Web服务器。 无论我尝试什么,我都没有吞吐量到Web服务器。 我之前已经设置了一些反向代理,但通常只有一个NIC。 我目前的反向代理configuration如下所示: <VirtualHost *:443> ServerName xxx.xxx.xxx.xxx (Reverse Proxy IP) SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off ProxyRequests off ProxyPreserveHost on SSLCertificateFile …/ssl/example.crt SSLCertificateKeyFile …ssl/example.key SSLCACertificateFile …ssl/example.crt ProxyPass / https://<WebAppServerIP>:443/ […]

PHP中用于内容pipe理器的Apache中权限分离的最佳解决scheme是什么?

我有几个VirtualHost和几个Web在同一个VirtualHost中: web1.example.org web2.example.org www.example.org/web3 www.example.org/web4 我试过使用mod_proxy,mod_proxy_fcgi + PHP-FPM: 别名/ myfoo / web / other / myfoo ProxyPassMatch ^ / myfoo /(.php(/。)?)$ fcgi://127.0.0.1:9001 / web / other / myfoo / $ 1 别名/ 2myfoo / web / other / 2myfoo ProxyPassMatch ^ / 2myfoo /(.php(/。)?)$ fcgi://127.0.0.1:9002 / web / other / 2myfoo / $ 1 但是这不会读取我的用户的.htaccess文件。 […]

有没有可能使用类似于mod_proxy的ProxyPass mod_cluster + JBoss + domain.xml的function?

我想在子path上使用代理(来模拟一个服务)。 我想要做的事情如下: https://myinternaldomain.com/myapplication/query/param1/…/paramN 这个包含“查询”的特定子path(?或者如何被称为完全子域?)应该使用代理服务器redirect到我的mockserver(在端口3000上运行) 和其他所有的电话 https://myinternaldomain.com/myapplication 不应该被redirect,应该正常工作 我在我的domain.xml中有一个条目: <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" instance-id="${jboss.host.name}-${jboss.server.name}" native="false" default-session-timeout="1440"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/> <virtual-server name="default-host" enable-welcome-root="false"> <alias name="localhost"/> <sso cache-container="web" cache-name="sso" reauthenticate="false"/> <rewrite name="myname" pattern="^/myapplication/query/*" substitution="/mockserver/query/" flags="L,R=302"/> </virtual-server> </subsystem> 但它看起来像redirect。 有没有可能在这里有类似于mod_proxy的ProxyPassfunction? 在httpd.conf中看起来像这样的东西(在使用mod_proxy的情况下) ProxyPass "/myapplication/query" "http://mockserver:3000/mockserver/query" ProxyPass / "balancer://mycluster" 谢谢

如何通过Apache的mod_cluster从JBoss的domain.xml创build基于代理的redirect?

我想要实现的是创build一个基于代理的redirectconfigurationJBoss,它将被传递给Apache的HTTPD。 我已经创build了一个redirect的“重写”,但我希望这里有一个代理,而不是强迫调用方修改URL(因为这只需要与特定调用的模拟服务集成) 。 这个部分的解决scheme在我的domain.xml中看起来像这样: <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" instance-id="${jboss.host.name}-${jboss.server.name}" native="false" default-session-timeout="1440"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/> <virtual-server name="default-host" enable-welcome-root="false"> <alias name="localhost"/> <sso cache-container="web" cache-name="sso" reauthenticate="false"/> <rewrite name="myname" pattern="^/myapplication/query/*" substitution="/mockserver/query/" flags="L,R=302"/> </virtual-server> </subsystem> 该解决scheme需要通过HTTPS工作。 一个可选的解决scheme可以使mod_cluster和mod_proxy以某种方式合作(我没有弄清楚),并向httpd.conf文件添加ProxyPass语句。 谢谢你的帮助!

尝试确定Apache应用程序服务器的重写,redirect或代理

我在内部运行一个Apache Web应用程序服务器,在App.domain.com。 它通过在防火墙/网关上使用端口转发作为app.domain.com:10080从外部暴露出来。 除了在开发和configuration(从外部完成)之外,Access一般可以在内部( http://app.domain.com )和外部( http://app.domain.com:10080 )进行工作,不pipe怎样,应用程序将端口(10080)存储在其configuration中,这偶尔会popup一些所服务的URL。 然后显示为"http://app.domain.com:10080/some/text/…" 这不是发生在外部的问题,而是正确parsing,但从内部访问时会产生错误,因为服务器不在端口10080上运行,而是在端口80上运行。 我现在试图解决这个问题,并想知道哪个是解决这个问题的首选方法。 我应该使用单独的VirtualHost指令简单地将10080上的请求代理到80端口: <VirtualHost *:10080> ProxyRequests Off ProxyPreserveHost On <Proxy *> AddDefaultCharset Off Order allow,deny Allow from all </Proxy> ProxyPass / http://app.domain.com/ ProxyPassReverse / http://app.domain.com/ </VirtualHost> 或者我应该使用redirect: <VirtualHost *:10080> ##{and any one of:} Redirect permanent / http://app.domain.com/ ## OR ## Redirect / http://%{HTTP_HOST}$1 ## OR ## […]