Articles of mod proxy

由Apache代理的Rails应用程序不提供CSS,Javascript和图像

我们在后台服务器上部署了一个Rails应用程序,通过Passenger服务。 这个应用程序在端口9000服务,并被configuration为使用sub_uri 。 最初的URL是http://ip.address:9000/ ,现在它在http://ip.address:9000/app1 。 所有的CSS,JavaScript,图像文件都被加载,并且在应用程序中没有错误。 现在我们需要将这个应用程序整合到我们的生产环境中 上面的后端服务器不能直接访问; 所有应用程序都将通过Apache在前端服务器上进行代理。 使用ReverseProxy和Proxy ,可以通过http://domain.name/app1访问这个Rails应用程序。 我们用于PHP应用程序,内部应用程序的当前apacheconfiguration是: ProxyPassReverse /app1 http ://ip.address:9000/app1 ProxyPass /app1 http ://ip.address:9000/app1 retry=5 应用程序有点负载,但有2个问题: 所有静态文件(JavaScript,图像和CSS)都丢失了。 apache在它自己的目录中查找它,而不是在托pipeRails应用程序的服务器上。 一些其他function被打破。 我不知道什么是configuration此设置的最佳方法。 在前端工作还是在后端做更多的configuration? 我应该删除sub_uri并执行前端服务器中的所有configuration吗? 我目前在Rails服务器上使用RailsBaseURI 。 阅读本网站后,还有其他选项,如PassengerEnabled , PassengerAppRoot 。 我该怎么办? 我对Ruby,Rails和Passenger很陌生,任何帮助都非常感谢。

使用JBoss的mod_proxy_balancer得到了很多的CLOSE_WAIT

我们有一个小型networking集群,每天可以为大约400个并发用户提供服务。 我们使用: Apache 2.2.14 mod_proxy的 mod_proxy_httpd mod_proxy_balancer的 JBoss 4.2.2 GA 首先,我们尝试了AJP,并且unforutanly我们得到了AJP CLOSE_WAIT问题,导致apache不响应HTTP请求。 所以我们转向mod_proxy_balancer ,在每个JBoss节点中看起来没有相同的CLOSE_WAIT问题。 这里是我们现在mod_proxy_balancer的configuration: <Proxy balancer://www> Allow from all BalancerMember http://192.168.1.2:8080/APP loadfactor=10 route=node1 BalancerMember http://192.168.1.3:8080/APP loadfactor=10 route=node2 BalancerMember …. loadfactor=10 route=node3 ProxySet lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On </Proxy> ProxyPass /LEI balancer://www/ ProxyPassReverse /LEI balancer://www/ 但是我们在这里遇到了一个新的问题,有许多(几百个)CLOSE_WAIT,我们可以从apache节点机器上find: netstat -a | grep CLOSE_WAIT …………. tcp 1 0 localhost:30997 localhost:webcache […]

Apache mod_proxy网站别名,替代域名

伙计们! 有一个Apache的mod_proxy问题,希望有人能帮助 前言:我们需要一个新的域( http://section1.info )来引导用户访问( http://domain.info/?q=section1 )并在URL中保留section1.info。 以下似乎不工作: ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://domain.info/?q=section1 ProxyPassReverse / http://domain.info/?q=section1 谢谢!

(apache`mod_proxy`)反向代理 – 如何重用TLS会话到原始服务器

我已经build立了一个只能通过http访问的反向代理,客户端请求被转换为http或https通信到原始服务器。 configuration如下: SetOutputFilter proxy-html ServerName public ProxyRequests off ProxyPass /http/ http://origin/ ProxyPassReverse /http/ http://origin/ ProxyPass /tls/ https://origin/ ProxyPassReverse /tls/ https://origin/ ProxyPassReverseCookieDomain origin public SSLProxyEngine On <Location /http/> ProxyHTMLInterp On ProxyPassReverse / ProxyHTMLURLMap https://origin /tls/ ProxyHTMLURLMap / /http/ RequestHeader unset Accept-Encoding Order deny,allow allow from all </Location> <Location /tls/> ProxyHTMLInterp On ProxyPassReverse / ProxyHTMLURLMap https://origin /tls/ […]

长时间运行的进程通过apache代理超时,但不绕过代理

所以我有这个基于tomcat的webapp。 这个webapp的一部分可以让你上传一个文件,然后在后台数据库中进行检查。 这个过程需要很长时间,在某些情况下最多可达15分钟。 现在蹭的是,当我通过apache运行这个过程时,我得到5分钟的超时,但是当我直接运行在tomcat上时没有。 然后它就变得更加奇怪了,因为这个过程甚至通过代理也可以正常工作。 IE和FF呛,虽然在5分钟的标志。 看看networkingstream量,看起来客户端正在发送TCP断开连接并且终止连接。 (总结) 直接通过HTTP对抗tomcat: IE:好 FF:好 CH:好 通过HTTP / HTTPS代理: IE:5M超时 FF:5M超时 CH:好 由于它通过chrome工作,所以我想这是一个IE / FF问题。 但是,因为它绕过代理通过IE / FF工作,我倾向于认为这是一个代理问题。 无论如何,我都很难过。 人们开始抱怨。 所以任何人有任何想法,为什么会发生这种情况? 我很高兴发布任何必要的日志/ conf文件… 我的代理configuration如下: ProxyPass / unit ajp:// appserver:8100 / unit timeout = 1800 ProxyPassReverse / unit ajp:// appserver:8100 / unit 编辑:添加版本: Apache 2.2.3 Tomcat 5.5.27 IE 8 FF […]

Apache mod_proxy sticksession不起作用。 平衡者似乎忽略它

我已经打开Apache的sticksessions。 configuration在: http : //pastie.org/private/7e9idebbk5jhmsyd8r4kew 日志显示Apache发现cookie,但它仍然不会粘在平衡器的其中一台服务器上。 筛选日志是: http://pastie.org/2096930

Apache2 mod_proxy,mod_rewrite和mod_cache

我有前面apache2和后端tomcat6与apache lenya。 代理工作正常,但我想caching图像。 这是我的简单configuration: ProxyPass / http://192.168.0.82:8888/ ProxyPassReverse / http://192.168.0.82:8888/ RewriteRule ^/$ index.html [R] RewriteRule ^/default/live/(.*)$ $1 [R,L] RewriteRule ^/(.*) http://192.168.0.82:8888/default/live/$1 [P] ProxyRequests Off RewriteEngine On 我试图用这种方式caching它: <IfModule mod_disk_cache.c> CacheEnable disk / CacheRoot "/var/cache/mod_proxy" CacheRoot /home/apache2/cache CacheDefaultExpire 60 CacheMaxExpire 3600 </IfModule> 但是我什么也没得到 我甚至试过这种方式: <IfModule mod_mem_cache.c> CacheEnable mem / MCacheMaxObjectSize 1024000 MCacheSize 102400 </IfModule> 再次没有结果。 启用了mod_mem_cache和mod_disk_cache。 […]

在本地主机上进行代理

2服务器:服务器1在公共IP上,服务器2在本地局域网上。 我现在正在使用Server1上的代理。 但是我需要在Server2上添加一个不是公认的域名的本地主机。 所以我通过代理添加它。 似乎在这里有困难。 让我知道。 我在server1和server2的虚拟主机文件上添加了本地主机,但不起作用。 目前在服务器1上使用代理设置和工作方式安装,这是httpd_vhosts.conf中的内容。 ProxyRequests Off ProxyPreserveHost On NameVirtualHost * <VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com DocumentRoot "/Library/Server/mydocuments" <Directory "/Library/WebServer/mydocuments"> Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias www.domain2.com ProxyPass / http://10.1.10.2:80/ ProxyPassReverse / http://10.1.10.2:80/ </VirtualHost> 对于新的本地主机,我在上面的Server1的httpd_vhosts.conf中添加了这个。 <VirtualHost *:80> ServerName nynews.domain1.com ServerAlias www.nynews.domain1.com ProxyPass / http://10.1.10.2:80/ ProxyPassReverse […]

在mod_proxy中编译是否有很多开销?

我试图保持我的Apache安装尽可能精简,但我有时需要使用mod_proxy。 有谁知道编译mod_proxy到Apache是​​否有很多开销,而不是在需要时使用共享模块?

如何处理跨越反向代理虚拟主机边界的serlvetloginredirect

我正在尝试在Apache反向代理之后安装GlassFish应用程序服务器。 我已经可以使用端口80和443,但问题是两者之间的转换发生在用户访问需要身份validation的页面时,导致Glassfish向login页面发出redirect,并且需要SSL通过Apache 443 / GlassFish 8181.在这种情况下,用户的浏览器尝试直接访问原始服务器,在我的情况是本地主机,所以实际上导致用户尝试访问自己的本地系统( https:// localhost:8181 / myapp )。 为了达到这个目的,我在httpd.conf中添加了以下内容: <VirtualHost *:80> ProxyPass /myapp http://localhost:8080/myapp ProxyPassReverse /myapp http://localhost:8080/myapp </VirtualHost> 和以下到ssl.conf: <VirtualHost _default_:443> SSLProxyEngine on ProxyPass /myapp https://localhost:8181/myapp ProxyPassReverse /myapp https://localhost:8181/myapp … 我试图添加一个额外的ProxyPassReverse指令,但这不起作用,可能是因为它无法处理切换协议。 也许我需要添加一个RewriteRule指令? 或者,也许我需要启用mod_proxy_html重写内容?