Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have an external commercial site my users need to get to, http://www.foo.com, that unfortunately causes problems with our proxy server, users get broken links, style sheets fail to load, etc.

Through experimentation, we found using https://www.foo.com works perfectly, but some of their links are absolute, and point back to http://www.foo.com, which then causes the proxy problem when they click on them. Obviously it would be nice if the site would take care of that, but it's not likely anytime soon.

Is there a way, with the clients using IE6, to force a redirect to https://www.foo.com/whatever when a users clicks a link to http://www.foo.com/whatever? I have seen where it can be done with Firefox+Noscript.

share|improve this question
2  
Have you considered trying to fix the issue with the proxy server? Which proxy are you using? Have you tried disabling various features of the proxy like pipelining, compression, caching, etc on that site to see if that resolves the issue? As a last resort you could just exclude that site from proxying if it refuses to work. –  Kevin Kuphal Jun 9 '09 at 15:38
    
What proxy are you using, and do you use a web filter on top of it? Is it possible that your proxy / filter is just blocking it? –  squillman Jun 9 '09 at 15:40
    
Kevin Kuphal raises a good point about features, also. I've heard of problems with SQUID and HTTP 1.1 compression. –  squillman Jun 9 '09 at 15:40
    
If it is a public site can you tell us its real name? –  cstamas Jun 9 '09 at 16:18
    
I'd love to fix the proxy, it's outside my control; the site is surveymonkey.com, their links to styles.* and images.* cause the grief. –  SqlACID Jun 9 '09 at 16:50
add comment

4 Answers

up vote 1 down vote accepted

About the only way I can think of to accomplish that with IE 6 would be to create a host file entry on each client pointing to a redirect page... it's a bit of a hack though. Seems like the best solution would be to fix the proxy like everyone's mentioned so far.

share|improve this answer
add comment

The change really should be made on the proxy server by adding an exception for this site. Since you don't have access to the remote site, and you are using https, I think the redirection would have to be at your users browser level.

I would guess that you can't proxy https because that is encrypted on the client before it gets to proxy server, and encrypted by the remote host before it gets to your proxy server. Because of this, the proxy server wouldn't be able to look at the http data and cache any of it. So, I think using https basically cause you to bypass the proxy server. Can anyone with more proxy experience confirm this?

share|improve this answer
add comment

Without knowing what proxy server you're using, can you not just do the redirect in that? If you are using squid, squirm (among others) looks like it'd do the trick.

share|improve this answer
add comment

If your using apache as the webserver you can use a mod_rewrite directive in a .htaccess to rewrite all incoming http requests to https.

        RewriteEngine On
        RewriteCond %{HTTP_USER_AGENT} .*MSIE.* [AND]
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

This will rewrite all requests coming from MSIE browsers to use https.

Since you don't explicitely note the webserver in use here I can only guess. Unfortunately I don't know IIS well enough to do the same thing.

Hope this helps!

share|improve this answer
    
From the question, I read that he does not control the remote site and therefore cannot edit its configuration. He was looking for a client-side solution. –  bortzmeyer Jun 10 '09 at 19:46
    
Ah yes I see that now, I misread it, I apologize to everyone for the inconvience. –  TrueDuality Jun 17 '09 at 18:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.