Sponsored Content
Special Forums UNIX and Linux Applications Apache problem: mod_deflate with mod_proxy Post 302269853 by otheus on Thursday 18th of December 2008 08:31:55 PM
Old 12-18-2008
Apache problem: mod_deflate with mod_proxy

I am using Apache 2.2.3 on RHEL5 and having problems to get mod_deflate work with mod_proxy. mod_deflate will compress files by mime-type just fine as long as those files are served statically from the local server. However, files served via dynamic php application (ie, MediaWiki) or via reverse-proxy site (port 8000 on localhost) don't get compressed at all. (They get served as uncompressed just fine).

Just in case, I checked with the ASF bug report list and found that a related bug was fixed in 2.2.2. This bug was very specifically related to this problem, and so just in case, I logged this as "Reopen". But maybe I have a stupid config error someone can see?

Code:
LoadModule proxy_module modules/mod_proxy.so
LoadModule deflate_module modules/mod_deflate.so

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/rtf
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Exclude Mozilla 4 (and compatible browsers) cannot handle deflation
BrowserMatch ^Mozilla/4             gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678]     no-gzip
# early IE6 cannot handle deflation of non-html files.
# (not sure about IE5)
BrowserMatch \bMSIE\s(6)            !no-gzip
# IE 7+ fine. Only IE 7 tested
BrowserMatch \bMSIE\s([7-9]|1[0-9]) !no-gzip !gzip-only-text/html

<Directory />
RewriteEngine   On
RewriteRule     ^/(.*\.php)$    http://localhost:8000/$1    [P,PT]
</Directory>

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Apache 2.2 problem

Hi all, I'm a user of Debian 4.0. I installed apache 2.2 and add the functionality to support ~/public_html for each user. This is the permission of my public_html: drwxr-xr-x 4 mj test 4096 2007-12-20 20:17 public_html When I wanted to go through it and list the directory via my browser,... (6 Replies)
Discussion started by: mjdousti
6 Replies

2. UNIX for Advanced & Expert Users

Double question: Apache mod_proxy and force connection over specific interface

Double question here ... Running on Debian Etch and Apache 2.0 1) Using mod_proxy and/or mod_proxy_http in apache 2.0. The basics of using mod_proxy are pretty simple so long as you're using a static config. I'm trying to figure out how to do it dynamically - that is, allow the entry of a... (4 Replies)
Discussion started by: Halfwalker
4 Replies

3. IP Networking

Apache mod_proxy +DNS slow response problem

My company has a private network, including a Apache web server (Linux) and some WinXP machines. The web server had been configured to use mod_proxy to connect to window update site via another company proxy server. It works for few years. Recently, some parties had setup a DNS server on the... (2 Replies)
Discussion started by: donaldfung
2 Replies

4. Red Hat

Problem in apache

Can anyone guide, what should be the entry in httpd.conf file to host a site in Redhat Ent Linux 5 without using nameserver? Or process to set apache server in same dist of Linux. Any link to understand apache well will be much appreciable. (3 Replies)
Discussion started by: naw_deepak
3 Replies

5. Debian

apache problem

hi all, I can't get my index.html to display on the web browser. Please point it out the reason. this is what i had done so far: 1. I have registered a dns name pointing to my public ip (it is done automatic) 2. my server name is set same as the dns name 3. I have configured... (14 Replies)
Discussion started by: k2k
14 Replies

6. Red Hat

mod_proxy: (70007)The timeout specified...

Hi to all member's forum. I have an httpd server with mod_proxy that forward any request to an another server. the flow is: client --> requesto proxy https://miosito.it --> forward to server https://192.168.0.10:8443/ I'm reading this error in my httpd log in LogLevel debug (after some... (0 Replies)
Discussion started by: lain
0 Replies

7. UNIX for Advanced & Expert Users

mod_proxy with ActiveX

Hi, I have a proxy with SSL that forward any request to a backend platform. In this moment I have a problem if I'm trying to execute an activex on the backend platform. I'm reading that the mod_proxy blocks any activex request because it don't trust for the system. How I can do? I'm reading... (0 Replies)
Discussion started by: lain
0 Replies

8. IP Networking

dns problem in apache

Hi, I am running scientific linux (which is clone of red hat linux) on virtual machine that is virtual box. I tried to start the apache but I got the following message. starting httpd: httpd: arp_sockaddr_info_get() failed for scientific-linux httpd: could not reliably determine the... (2 Replies)
Discussion started by: programAngel
2 Replies

9. Web Development

Httpd with mod_proxy redirect

Hi team, I was like unable to solve this interview question, Any help from them experts here please.. "Your supervisor requires that all web requests for "http://dev.example.net" be passed to "http://newdev.example.net". She states that upon redirect, the URL in the web browser must remain... (1 Reply)
Discussion started by: leo_ultra_leo
1 Replies

10. Web Development

Apache Mod_Proxy with failover

I have the following setup in my apache vhost: ProxyPass /abc http://www.newest.com/ ProxyPassReverse /abc http://www.newest.com/ I want to setup a failover approach in which if after a particular timeout say 10secs the load shifts to some other website like Refer.com | The world. The timeout... (0 Replies)
Discussion started by: ankur328
0 Replies
Catalyst::Manual::Deployment::Apache::FastCGI(3pm)	User Contributed Perl Documentation	Catalyst::Manual::Deployment::Apache::FastCGI(3pm)

NAME
Catalyst::Manual::Deployment::Apache::FastCGI - Deploying Catalyst with FastCGI on Apache Setup 1. Install Apache with mod_fastcgi mod_fastcgi for Apache is a third-party module, and can be found at <http://www.fastcgi.com/>. It is also packaged in many distributions (for example, libapache2-mod-fastcgi in Debian). You will also need to install the FCGI module from CPAN. Important Note! If you experience difficulty properly rendering pages, try disabling Apache's mod_deflate (Deflate Module), e.g. 'a2dismod deflate'. Apache 1.x, 2.x Apache requires the mod_fastcgi module. The same module supports both Apache 1 and 2. There are three ways to run your application under FastCGI on Apache: server, static, and dynamic. Standalone server mode FastCgiExternalServer /tmp/myapp.fcgi -socket /tmp/myapp.socket Alias /myapp/ /tmp/myapp.fcgi/ # Or, run at the root Alias / /tmp/myapp.fcgi/ # Optionally, rewrite the path when accessed without a trailing slash RewriteRule ^/myapp$ myapp/ [R] The FastCgiExternalServer directive tells Apache that when serving /tmp/myapp to use the FastCGI application listening on the socket /tmp/mapp.socket. Note that /tmp/myapp.fcgi MUST NOT exist -- it's a virtual file name. With some versions of "mod_fastcgi" or "mod_fcgid", you can use any name you like, but some require that the virtual filename end in ".fcgi". It's likely that Apache is not configured to serve files in /tmp, so the Alias directive maps the url path /myapp/ to the (virtual) file that runs the FastCGI application. The trailing slashes are important as their use will correctly set the PATH_INFO environment variable used by Catalyst to determine the request path. If you would like to be able to access your app without a trailing slash (http://server/myapp), you can use the above RewriteRule directive. Static mode The term 'static' is misleading, but in static mode Apache uses its own FastCGI Process Manager to start the application processes. This happens at Apache startup time. In this case you do not run your application's fastcgi.pl script -- that is done by Apache. Apache then maps URIs to the FastCGI script to run your application. FastCgiServer /path/to/myapp/script/myapp_fastcgi.pl -processes 3 Alias /myapp/ /path/to/myapp/script/myapp_fastcgi.pl/ FastCgiServer tells Apache to start three processes of your application at startup. The Alias command maps a path to the FastCGI application. Again, the trailing slashes are important. Dynamic mode In FastCGI dynamic mode, Apache will run your application on demand, typically by requesting a file with a specific extension (e.g. .fcgi). ISPs often use this type of setup to provide FastCGI support to many customers. In this mode it is often enough to place or link your *_fastcgi.pl script in your cgi-bin directory with the extension of .fcgi. In dynamic mode Apache must be able to run your application as a CGI script so ExecCGI must be enabled for the directory. AddHandler fastcgi-script .fcgi The above tells Apache to run any .fcgi file as a FastCGI application. Here is a complete example: <VirtualHost *:80> ServerName www.myapp.com DocumentRoot /path/to/MyApp # Allow CGI script to run <Directory /path/to/MyApp> Options +ExecCGI </Directory> # Tell Apache this is a FastCGI application <Files myapp_fastcgi.pl> SetHandler fastcgi-script </Files> </VirtualHost> Then a request for /script/myapp_fastcgi.pl will run the application. For more information on using FastCGI under Apache, visit <http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html> Authorization header with mod_fastcgi or mod_cgi By default, mod_fastcgi/mod_cgi do not pass along the Authorization header, so modules like "Catalyst::Plugin::Authentication::Credential::HTTP" will not work. To enable pass-through of this header, add the following mod_rewrite directives: RewriteCond %{HTTP:Authorization} ^(.+) RewriteRule ^(.*)$ $1 [E=HTTP_AUTHORIZATION:%1,PT] 2. Configure your application # Serve static content directly DocumentRoot /var/www/MyApp/root Alias /static /var/www/MyApp/root/static FastCgiServer /var/www/MyApp/script/myapp_fastcgi.pl -processes 3 Alias /myapp/ /var/www/MyApp/script/myapp_fastcgi.pl/ # Or, run at the root Alias / /var/www/MyApp/script/myapp_fastcgi.pl/ The above commands will launch 3 app processes and make the app available at /myapp/ Standalone server mode While not as easy as the previous method, running your app as an external server gives you much more flexibility. First, launch your app as a standalone server listening on a socket. script/myapp_fastcgi.pl -l /tmp/myapp.socket -n 5 -p /tmp/myapp.pid -d You can also listen on a TCP port if your web server is not on the same machine. script/myapp_fastcgi.pl -l :8080 -n 5 -p /tmp/myapp.pid -d You will probably want to write an init script to handle starting/stopping of the app using the pid file. Now, we simply configure Apache to connect to the running server. # 502 is a Bad Gateway error, and will occur if the backend server is down # This allows us to display a friendly static page that says "down for # maintenance" Alias /_errors /var/www/MyApp/root/error-pages ErrorDocument 502 /_errors/502.html FastCgiExternalServer /tmp/myapp.fcgi -socket /tmp/myapp.socket Alias /myapp/ /tmp/myapp.fcgi/ # Or, run at the root Alias / /tmp/myapp.fcgi/ More Info Catalyst::Manual::Deployment::FastCGI. AUTHORS
Catalyst Contributors, see Catalyst.pm COPYRIGHT
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-01-20 Catalyst::Manual::Deployment::Apache::FastCGI(3pm)
All times are GMT -4. The time now is 08:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy