Skip to main content
Question

How to configure FME Server Engine on Docker to use system proxy (Linux)

  • October 24, 2021
  • 2 replies
  • 36 views

skime
Contributor
  • Contributor
  • 14 replies

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): [5]: HTTP transfer error: Couldn't resolve host name
156 2021-10-24 21:51:49 | HTTPCaller (HTTPFactory): [5]: Please ensure that your network connection is properly set up
157 2021-10-24 21:51:49 | HTTPCaller (HTTPFactory): [5]: 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.

2 replies

virtualcitymatt
Celebrity
Forum|alt.badge.img+47
  • Celebrity
  • 2000 replies
  • October 25, 2021

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


skime
Contributor
  • Author
  • Contributor
  • 14 replies
  • October 28, 2021

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.