User Tools

Site Tools


Substitute HTML or JavaScript on the fly

Using this recipe - while browsing a remote server - you can trick your browser into taking one file (JavaScript, HTML, image, ecc.) from a web server controlled by you, instead of from the original server.

This can be useful to test some changes on a production server without actually touching the deployed code.

It works by telling the browser to use a proxy for a particular URL, and configure a fake web server to serve that content, eventually canged.

Create a file proxy.pac and store it into your web server:

function FindProxyForURL(url, host) {
    if (shExpMatch(url, "")) {
        return "PROXY";

Configure a fake VirtualHost on your web server:

NameVirtualHost *:8084
Listen 8084

<VirtualHost *:8084>
    DocumentRoot /var/www/
    ErrorLog /var/log/apache2/
    CustomLog /var/log/apache2/ combined

    # Force .jsp to be served as HTML
    AddType text/html .jsp

    <Directory /var/www/>
        AllowOverride All

Then put the fake file into the DocumentRoot for the VirtaulHost. In the example above it will be /var/www/

Configure the browser to use automatic proxy configuration, and give as the URL.

NOTE: This trick does not work with Internet Explorer, because it caches the proxy configuration on a per-server basis. If one page from the server was got via proxy, all the subsequent pages will be too.

doc/appunti/linux/sa/proxy_debug.txt · Last modified: 2011/09/15 17:45 by niccolo