Skip to main content

I'm hosting FME Server Engine using docker on Ubuntu (tag: 21302). When I try to use it and my Ubuntu is connected to a proxy, HTTPCaller in one of the workspaces can't make external requests resulting in:

154	2021-10-24 21:51:39 | HTTPCaller_2 (HTTPFactory): An error occurred while accessing the URL 'https://www.google.com'
155 2021-10-24 21:51:49 | HTTPCaller (HTTPFactory): 25]: HTTP transfer error: Couldn't resolve host name
156 2021-10-24 21:51:49 | HTTPCaller (HTTPFactory): m5]: Please ensure that your network connection is properly set up
157 2021-10-24 21:51:49 | HTTPCaller (HTTPFactory): p5]: No proxy settings have been entered. If you require a proxy to access external URLs, please ensure the appropriate information has been entered

How can I configure the docker FME Server Engine to use the system proxy? I saw the admin guide but it's intended for direct system installation. Are there any environment variables I can set up?

Interesting observation - I had an FME Server Engine on Windows 11 (also on docker WSL2) and it used system proxy without any issues.

This in not the full answer, however, when working and debugging proxies in FME a helpful thing to do is enable debug logging. The HTTPCaller is one of the only tools where I find debug logging actually helps.

 

As far as I can see there are no obvious environment variables for configuring this. You can try and add the steps in the admin guide as a new layer in another dockerfile and use that. Or experiment to see if you can get this to work.

 

Perhaps Docker has a solution for this: https://docs.docker.com/network/proxy/#configure-the-docker-client

I'm not sure is this is what you're after, however, worth investigating - it could just be that simple


This in not the full answer, however, when working and debugging proxies in FME a helpful thing to do is enable debug logging. The HTTPCaller is one of the only tools where I find debug logging actually helps.

 

As far as I can see there are no obvious environment variables for configuring this. You can try and add the steps in the admin guide as a new layer in another dockerfile and use that. Or experiment to see if you can get this to work.

 

Perhaps Docker has a solution for this: https://docs.docker.com/network/proxy/#configure-the-docker-client

I'm not sure is this is what you're after, however, worth investigating - it could just be that simple

Thank you virtualcitymatt for the answer, what simply worked for me was setting the HTTP_PROXY and HTTPS_PROXY env variables in docker-compose file under engine container:

environment:
      - HTTP_PROXY=http://${external_ip}:80
      - HTTPS_PROXY=https://${external_ip}:443

external_ip variable is set on my host Ubuntu. Unfortunately if you change proxy address on host/system, you have to restart the engine docker container for reloading the environmental variables.


Reply