Closed Bug 273258 Opened 20 years ago Closed 8 years ago

[PAC] auto proxy don't work with more than one proxy when the first proxy is down

Categories

(Core :: Networking, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1243371

People

(Reporter: enz_tn2002, Unassigned)

References

Details

(Whiteboard: [necko-backlog])

Attachments

(3 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; it-IT; rv:1.7.5) Gecko/20041110 Firefox/1.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; it-IT; rv:1.7.5) Gecko/20041110 Firefox/1.0

I have configured Firefox 1.0 with autoproxy. The proxy.pac is this:

function FindProxyForURL(url, host)
{
var MyIp="";
MyIp= myIpAddress(); 

if(shExpMatch(MyIp, "172.16.*")))
return "PROXY 192.168.0.1:8080; " + "PROXY 10.0.0.1:8080";
else
return "PROXY 10.0.0.1:8080";
}

In normal moment from my network 172.16.0.0 I use the 192.168.0.1 proxy but when 
the 192.168.0.1 go down I switch to 10.0.0.1.
But firefox don't try to connect to second proxy, go in timeout.
I see in netstat table SYN_SENT to 192.168.0.1 but no one packet to 10.0.0.1.
This javascript with IE work correctly.


Reproducible: Always
Steps to Reproduce:
1. 
2.
3.

Actual Results:  
Work only with the first proxy.

Expected Results:  
Work also with the second proxy when the first is down for some reasons.
Version: unspecified → 1.0 Branch
This is Core:Networking
Assignee: firefox → darin
Component: General → Networking
Product: Firefox → Core
QA Contact: firefox.general → benc
Summary: auto proxy don't work with more one proxys when the first proxy is down → [PAC} auto proxy don't work with more one proxys when the first proxy is down
Version: 1.0 Branch → 1.7 Branch
If the host respond with RST packet, example with wrong port, Firefox switch to
next proxy.
Steps to Reproduce:
1. Make a file with this row
function FindProxyForURL(url, host)
{
   return "PROXY <false IP which not responding Ex: 128.128.128.128>:8080; " +
"PROXY <true IP proxy>:8080";
}

2. Save this file in c:\proxy.pac or another location
3. Set on Connection Settings - Automatic Configuration - file://c:/proxy.pac
4. Reload configuration
5. Try to navigate
This is supposed to work.  Please generate a HTTP log using the following
instructions and attach the resulting file to this bug report.  Thanks!

Instructions:
http://www.mozilla.org/projects/netlib/http/http-debugging.html
This log is produced from firefox 1.0 with the follow proxy.pac

function FindProxyForURL(url, host)
{
return "PROXY 194.168.0.1:8080; " + "PROXY 192.168.0.1:8080";
}
In my network this ip 194.168.0.1 not respond.
This log is produced from firefox 1.0 with the follow proxy.pac

function FindProxyForURL(url, host)
{
return "PROXY 192.168.0.1:8080; " + "PROXY 194.168.0.1:8080";
}
I tried this proxy also in OS Solaris 8 but it don't change.
*** Bug 275861 has been marked as a duplicate of this bug. ***
Dupe bug 224237 ?

*** This bug has been marked as a duplicate of 261764 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
duping the other way makes more sense
Status: RESOLVED → UNCONFIRMED
Resolution: DUPLICATE → ---
Reporter: Can you please try a nightly trunk build ?
I tried the version 
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2005-01-09-07-trunk/firefox-1.0+.en-US.linux-i686.installer.tar.gz 
and 
http://ftp.mozilla.org/pub/mozilla.org/mozilla/nightly/2005-01-09-07-trunk/mozilla-i686-pc-linux-gnu-full-installer.tar.gz 
I see the new option: network.proxy.failover_timeout i tried with default value 
1800 but nothing, i tried with 10 (I think second) but nothing. 
With firefox 1.0 and mozilla tell me the same message. Timeout to connect site. 
I make another log file with proxy not respond. 
 
We experinced the same problem network wide when our primary proxy server went
down. IE kept on working but all Firefox clients timed out when accessing web
pages, both use the same PAC file.
Firefox 1.0.6
Windows XP SP2
Assignee: darin → nobody
QA Contact: benc → networking
Version: 1.7 Branch → Trunk
Summary: [PAC} auto proxy don't work with more one proxys when the first proxy is down → [PAC] auto proxy don't work with more than one proxy when the first proxy is down
I confirm this bug is always present in all mozilla versions I tested (One of them is the v3.6 on XP SP3).

I tested the failover with this script:
----------------------------------------
function FindProxyForURL(url, host)
{
     return "PROXY 10.2.150.11:8080; PROXY 10.2.150.12:8080;";
}
-------------------------------------

This is working with IE in any condition.
This is working with Firefox only if the proxy service is down but the computer up (ie, the computer send TCP RST to the firefox TCP SYN requests).
If the computer is down, so Firefox send 3 TCP SYN and then  display an "connexion reset" message.
marking new based on the comments
Status: UNCONFIRMED → NEW
Ever confirmed: true
Confirming this bug (firefox 14.0.1 i386 ubuntu 12.04, windows xp). Firefox doesn't try to connect to the next target (PROXY or DIRECT) in the chain when the first proxy is unreachable. If the server sends TCP RST (is reachable but proxy is not running), firefox gives an error about reseted connection. If the server is not responding at all, firefox gives a reseted connection error after some timeout.

This is a really nice feature for corporate environments, so without it - it's wrong to say that firefox follows http://web.archive.org/web/20061218002753/wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html

There is a lot of duplicates of this bug report and I see a patch here (didn't tested it, it's very old): https://bugzilla.mozilla.org/show_bug.cgi?id=224237

May be it's time to fix it after 8 years? I'll be glad to test any suggested solution.
Thanks.
the issue is just that ff relies on the OS for connection creation. So it isn't really that the failover isn't being honored, its that FF decides not to move onto the next option quickly enough in the absence of a rst bceause the OS timeout is very large. A timer can help here.
see also bug 407190 (a general http timeout)..
We are having this problem too, it's a nice feature to have in a corporate environment.
bagder, did you do something here that makes the timeout faster? (and the bug disposition would change..
Flags: needinfo?(daniel)
Whiteboard: [necko-backlog]
I had an initial patch for lowering the connect timeout for proxies, but it got buried in another bug somewhere. Now it exists as bug 1243371
Flags: needinfo?(daniel)
Status: NEW → RESOLVED
Closed: 20 years ago8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: