What Is Error 407: Proxy Authentication Required

WHAT IS A PROXY SERVER?

In computer networking, a proxy server is a server application that acts as an intermediary between a client requesting a resource and the server providing that resource.

A proxy server provides a gateway between users and the internet. It is a server, referred to as an “intermediary” because it goes between end-users and the web pages they visit online.

When a computer connects to the internet, it uses an IP address. This is similar to your home’s street address, telling incoming data where to go and marking outgoing data with a return address for other devices to authenticate. A proxy server is essentially a computer on the internet that has an IP address of its own.

Proxy Servers and Network Security

Proxies provide a valuable layer of security for your computer. They can be set up as web filters or firewalls, protecting your computer from internet threats like malware.

This extra security is also valuable when coupled with a secure web gateway or other email security  products. This way, you can filter traffic according to its level of safety or how much traffic your network—or individual computers—can handle.

Some people use proxies for personal purposes, such as hiding their location while watching movies online. For a company, however, they can be used to accomplish several key tasks such as:

  1. Improve security
  2. Secure employees’ internet activity from people trying to snoop on them
  3. Balance internet traffic to prevent crashes
  4. Control the websites employees access
  5. Save bandwidth by caching files or compressing incoming traffic

How a Proxy Works

Because a proxy server has its own IP address, it acts as a go-between for a computer and the internet. Your computer knows this address, and when you send a request on the internet, it is routed to the proxy, which then gets the response from the web server and forwards the data from the page to your computer’s browser, like Chrome, Safari, Firefox, or Microsoft Edge

WHAT IS PROXY AUTHENTICATION?

Proxy Authentication

Proxies can serve as access-control devices. HTTP defines a mechanism called proxy authentication that blocks requests for content until the user provides valid access-permission credentials to the proxy:

  • When a request for restricted content arrives at a proxy server, the proxy server can return a 407 Proxy Authorization Required status code demanding access credentials, accompanied by a Proxy-Authenticate header field that describes how to provide those credentials
  • When the client receives the 407 response, it attempts to gather the required credentials, either from a local database or by prompting the user.
  • Once the credentials are obtained, the client resends the request, providing the required credentials in a Proxy-Authorization header field.
  • If the credentials are valid, the proxy passes the original request along the chain otherwise, another 407 reply is sent.

Configuring Proxy Authentication Method

Proxy Authentication enables you to configure the authentication method used by the proxy. This determines how client machines are validated when accessing the Internet. Proxy Authentication must be enabled to be able to create new policies for users or groups. By default, Proxy Authentication is disabled. When Proxy Authentication is disabled, you are only allowed to configure new policies using IP addresses.

For enhanced security we recommend using Integrated Authentication. This method is more secure since unlike Basic Authentication it does not transmit user credentials over the network.

NOTE

The Configuration Wizard is launched automatically after installing GFI WebMonitor or manually from the Settings menu.

Proxy authentication settings

To configure user authentication method:

  1. Go to Core Settings > Connection Settings.
  2. Click the Proxy Authentication switch to enable.
  3. In the Proxy Authentication area, select one of the following options:

Option 1: Leave Proxy Authentication off if the user is not required to provide login credentials when new Internet sessions are launched.

Option 2: If proxy authentication is required, select one of the following options:

OptionDescription
Basic authenticationSelect if user is required to provide login credentials when new Internet sessions are launched. When using Basic authentication, the browser prompts the user for a user name and password. This information is transmitted across HTTP as plain text and considered insecure.
Integrated authentication(Recommended) This option enables GFI WebMonitor proxy to authenticate users by using the client machine access control service. User is not prompted to provide login credentials when new Internet sessions are launched. We recommend using Integrated authentication in a Windows domain environment since this method of authentication does not transmit user passwords across the network.NOTEIntegrated authentication is disabled if the GFI WebMonitor machine authenticates local users as Guest. The Guest only network access model grants all users the same level of access to system resources and so GFI WebMonitor proxy will not be able to differentiate between the different users using a client machine.
  1. [Optional] In the IP’s that will bypass the authentication field, key in IP addresses to exclude from proxy authentication. IP addresses specified in this field will not be prompted to provide login credentials when new Internet sessions are launched.
  2. Click Save.

Proxy authentication error, how to fix it?

When trying to access Array Studio from a local area network PC running windows 7 in which the proxy requires authentication, you may receive the error (list below) or with message “The remote server returned an error: (407) Proxy Authentication Required”

To fix this issue, try setting the Proxy Authentication in the following way (Administrative Privileges may be required):

  • First, confirm that you installed the .NET fix (caused by a known Microsoft .NET bug)
  • Go to Administrative Tools -> Local Security Policy -> Local Policies -> Security Option
  • Change “Network security: LAN Manager authentication level” to “LM & NTLM-Use NTLMv2 session if negotiated”.

Install/Start Array Studio to confirm that the issue has been fixed.

If all above is not working, maybe there are some old “expired” proxy info recorded in your ArrayStudio setting files. Move all .settings file in the “C:\Users\Gary\Documents\Omicsoft” folder, and then restart ArrayStudio.

Example of error log

PLATFORM VERSION INFO
	Windows 			: 6.1.7601.65536 (Win32NT)
	Common Language Runtime 	: 2.0.50727.5466
	System.Deployment.dll 		: 2.0.50727.5420 (Win7SP1.050727-5400)
	mscorwks.dll 			: 2.0.50727.5466 (Win7SP1GDR.050727-5400)
	dfdll.dll 			: 2.0.50727.4927 (NetFXspW7.050727-4900)
	dfshim.dll 			: 4.0.40305.0 (Main.040305-0000)
 
SOURCES
	Deployment url			: http://www.omicsoft.com/software/ArrayStudioLauncher/ArrayStudioLauncher.application
 
ERROR SUMMARY
	Below is a summary of the errors, details of these errors are listed later in the log.
	* Activation of http://www.omicsoft.com/software/ArrayStudioLauncher/ArrayStudioLauncher.application resulted in exception. Following failure messages were detected:
		+ Downloading http://www.omicsoft.com/software/ArrayStudioLauncher/ArrayStudioLauncher.application did not succeed.
		+ The remote server returned an error: (407) Proxy Authentication Required.
		+ The token supplied to the function is invalid
 
COMPONENT STORE TRANSACTION FAILURE SUMMARY
	No transaction error was detected.
 
WARNINGS
	There were no warnings during this operation.
 
OPERATION PROGRESS STATUS
	* [4/26/2013 12:04:05 PM] : Activation of http://www.omicsoft.com/software/ArrayStudioLauncher/ArrayStudioLauncher.application has started.
 
ERROR DETAILS
	Following errors were detected during this operation.
	* [4/26/2013 12:04:05 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
		- Downloading http://www.omicsoft.com/software/ArrayStudioLauncher/ArrayStudioLauncher.application did not succeed.
		- Source: System.Deployment
		- Stack trace:
			at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
			at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
			at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
			at System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
			at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
			at System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
			at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
			at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
		--- Inner Exception ---
		System.Net.WebException
		- The remote server returned an error: (407) Proxy Authentication Required.
		- Source: System
		- Stack trace:
			at System.Net.HttpWebRequest.GetResponse()
			at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
		--- Inner Exception ---
		System.ComponentModel.Win32Exception
		- The token supplied to the function is invalid
		- Source: System
		- Stack trace:
			at System.Net.NTAuthentication.GetOutgoingBlob(Byte[] incomingBlob, Boolean throwOnError, SecurityStatus& statusCode)
			at System.Net.NTAuthentication.GetOutgoingBlob(String incomingBlob)
			at System.Net.NtlmClient.DoAuthenticate(String challenge, WebRequest webRequest, ICredentials credentials, Boolean preAuthenticate)
			at System.Net.NtlmClient.Authenticate(String challenge, WebRequest webRequest, ICredentials credentials)
			at System.Net.AuthenticationManager.Authenticate(String challenge, WebRequest request, ICredentials credentials)
			at System.Net.AuthenticationState.AttemptAuthenticate(HttpWebRequest httpWebRequest, ICredentials authInfo)
			at System.Net.HttpWebRequest.CheckResubmitForAuth()
			at System.Net.HttpWebRequest.CheckResubmit(Exception& e)



Drop your comment

Hits: 8

Related Post

Leave a Reply

Your email address will not be published.