• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Not able to emulate proxy server

 
Ranch Hand
Posts: 119
  • Number of slices to send:
    Optional 'thank-you' note:
Hi. We are developeing some java utility using a few  government provided web services (few simple https urls returning some json data). Everything works ok, but one customer uses proxy server. We would like to give him tested and working solution not any trials and errors.

But we don't use proxy server, so we tried to find some solution how to simulate it. We googled utility Fiddler (https://www.telerik.com/fiddler) with this recommended setting
(https://superuser.com/questions/180480/how-to-simulate-corporate-proxy-server-on-my-development-machine)
1. Download and run Fiddler proxy (it's free). It will automatically set itself as a system proxy in Windows on each run. Also click Rules -> Require Proxy Authentication in the top menu if you want to test authentication to the proxy (username and password are "1").
2. Open Windows Firewall, then Advanced settings -> Windows Firewall Properties. Block all outbound connections for all profiles you need (domain, private, public) and click OK.
3. Add new outbound firewall rule to allow all access for 8888 port (default Fiddler port) or "%LOCALAPPDATA%\Programs\Fiddler\Fiddler.exe" app.

We did everything listed, tried first chrome. It itself turned the proxy setting on, the address set to http=127.0.0.1:8888;https=127.0.0.1:8888

But connection ends with ERR_TUNNEL_CONNECTION_FAILED

We're not 100% sure how to setup the rule in point 3) Maybe is the problem here and not in Fiddler ?
We set this:

Protocol type TCP
Local port all
Remote port 8888

this gives ERR_TUNNEL_CONNECTION_FAILED

If we set only local, only remote or both 8888 , it still gives ERR_TUNNEL_CONNECTION_FAILED

I know this is not 100% java question, but we get to java right after solving this.

Maybe there's other utiliy emulating proxy.

Any suggestions? Thanks.
 
Saloon Keeper
Posts: 27871
196
  • 1
  • Number of slices to send:
    Optional 'thank-you' note:
The most important thing to determine is whether what you are trying to emulate is a "proxy server" or a "reverse proxy server".

The difference is this:

A Proxy server is something that in-house users talk to instead of talking directly to the Internet.

A Reverse Proxy server is something that Internet users talk to instead of talking directory to your in-house server.

It's very easy to get confused because we tend to be sloppy about what we say.

I have a proxy server on my network (squid). It acts as a cache for software updates so that if I have 4 machines that need package downloads to update their OS's, the first update downloads via Squid, which caches it on my LAN and serves up the cached copy to the other 3 machines as they ask for it. That means that I'm reducing traffic on the Internet and I'm getting gigabit speeds on the cache so the other machines can get their work done faster.

In ancient times, Windows sites often used SOCKS as a proxy server, though I'm not clear how. I don't use my Squid proxy for websites because these days most websites have too many dynamic pages and therefore don't cache well.

More likely, however your client is using a reverse proxy. This is especially common for JEE webapp servers for several reasons.

A reverse proxy generally listens on the public Internet ports 80 (http) and 443 (https). However, because of a historical quirk, TCP/IP port numbers less than 4096 cannot be opened for listening by just any application. And Java's "write once/run anywhere" policy doesn't allow the hacks that apps written in languages like C can use to get around that.

The common reverse proxy apps, however, can get around that problem. They also add some additional benefits over direct connection from the Internet to JEE"

1. The same reverse proxy can not only talk to (multiple!) java server(s), but also host or proxy for other web application language environments like PHP, Python, Ruby on Rails, and so forth.

2. As mentioned above, a reverse proxy can listen on ports 80 and 443 and proxy to, for example, a Tomcat server configured behind your firewall listening on ports 8080, 8443 and proxy port 8009.

3. A reverse proxy can aid in load balancing.

4. Setting up SSL is a LOT easier for the popular reverse proxy servers than it is for JEE!

OK, I've listed the benefits, now what are the options?

Quite a few. A really big shop may use an actual proxy applicance such as F5, which is a box that plugs into your Internet-facing network and feeds to your DMZ network where your JEE server(s) hopefully live safely hidden from the cruel outside world.

Alternatively, a reverse proxy app is common. The "big 3" are Apache HTTP, Nginx, and Microsoft's IIS. The Coderanch uses Nginx which is pretty lightweight and easy to configure.

From the sound of it, Fiddler is also a reverse proxy server which boasts extensive diagnostic abilities. Unfortunately, while I've well-experience in Apache and Nginx (I use both myself) and even dimly remember some IIS, I've never worked with Fiddler.

There's nothing really magic about a proxy/reverse proxy. All they do is take requests from one place and route them to another. In the process they may alter the URL and/or ports and often add or change headers (which is where I think your real problems may lie). The system is so simple overall that it's actually just a secondary function to the "Big 3" webapp servers I just mentioned.

 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic
vceplus-200-125    | boson-200-125    | training-cissp    | actualtests-cissp    | techexams-cissp    | gratisexams-300-075    | pearsonitcertification-210-260    | examsboost-210-260    | examsforall-210-260    | dumps4free-210-260    | reddit-210-260    | cisexams-352-001    | itexamfox-352-001    | passguaranteed-352-001    | passeasily-352-001    | freeccnastudyguide-200-120    | gocertify-200-120    | passcerty-200-120    | certifyguide-70-980    | dumpscollection-70-980    | examcollection-70-534    | cbtnuggets-210-065    | examfiles-400-051    | passitdump-400-051    | pearsonitcertification-70-462    | anderseide-70-347    | thomas-70-533    | research-1V0-605    | topix-102-400    | certdepot-EX200    | pearsonit-640-916    | itproguru-70-533    | reddit-100-105    | channel9-70-346    | anderseide-70-346    | theiia-IIA-CIA-PART3    | certificationHP-hp0-s41    | pearsonitcertification-640-916    | anderMicrosoft-70-534    | cathMicrosoft-70-462    | examcollection-cca-500    | techexams-gcih    | mslearn-70-346    | measureup-70-486    | pass4sure-hp0-s41    | iiba-640-916    | itsecurity-sscp    | cbtnuggets-300-320    | blogged-70-486    | pass4sure-IIA-CIA-PART1    | cbtnuggets-100-101    | developerhandbook-70-486    | lpicisco-101    | mylearn-1V0-605    | tomsitpro-cism    | gnosis-101    | channel9Mic-70-534    | ipass-IIA-CIA-PART1    | forcerts-70-417    | tests-sy0-401    | ipasstheciaexam-IIA-CIA-PART3    | mostcisco-300-135    | buildazure-70-533    | cloudera-cca-500    | pdf4cert-2v0-621    | f5cisco-101    | gocertify-1z0-062    | quora-640-916    | micrcosoft-70-480    | brain2pass-70-417    | examcompass-sy0-401    | global-EX200    | iassc-ICGB    | vceplus-300-115    | quizlet-810-403    | cbtnuggets-70-697    | educationOracle-1Z0-434    | channel9-70-534    | officialcerts-400-051    | examsboost-IIA-CIA-PART1    | networktut-300-135    | teststarter-300-206    | pluralsight-70-486    | coding-70-486    | freeccna-100-101    | digitaltut-300-101    | iiba-CBAP    | virtuallymikebrown-640-916    | isaca-cism    | whizlabs-pmp    | techexams-70-980    | ciscopress-300-115    | techtarget-cism    | pearsonitcertification-300-070    | testking-2v0-621    | isacaNew-cism    | simplilearn-pmi-rmp    | simplilearn-pmp    | educationOracle-1z0-809    | education-1z0-809    | teachertube-1Z0-434    | villanovau-CBAP    | quora-300-206    | certifyguide-300-208    | cbtnuggets-100-105    | flydumps-70-417    | gratisexams-1V0-605    | ituonline-1z0-062    | techexams-cas-002    | simplilearn-70-534    | pluralsight-70-697    | theiia-IIA-CIA-PART1    | itexamtips-400-051    | pearsonitcertification-EX200    | pluralsight-70-480    | learn-hp0-s42    | giac-gpen    | mindhub-102-400    | coursesmsu-CBAP    | examsforall-2v0-621    | developerhandbook-70-487    | root-EX200    | coderanch-1z0-809    | getfreedumps-1z0-062    | comptia-cas-002    | quora-1z0-809    | boson-300-135    | killtest-2v0-621    | learncia-IIA-CIA-PART3    | computer-gcih    | universitycloudera-cca-500    | itexamrun-70-410    | certificationHPv2-hp0-s41    | certskills-100-105    | skipitnow-70-417    | gocertify-sy0-401    | prep4sure-70-417    | simplilearn-cisa    |
http://www.pmsas.pr.gov.br/wp-content/    | http://www.pmsas.pr.gov.br/wp-content/    |