Skip to main content

Hi,

We cannot get FME to work behind an AWS loadbalancer.

Using fme-flow-2024.0.2.1-b24217-linux-x64~ubuntu.22.04.run

Deploying FME behind an AWS Application load balancer with a HTTPs listener, works for signing in and browsing https://.../fmeserver/. However, when testing the installation using the following instructions, this error is returned “400 - Bad Request The plain HTTP request was sent to HTTPS port”

https://docs.safe.com/fme/html/FME-Flow/AdminGuide/Test-Installation-Linux.htm

The FME server has a security group that only allows HTTP and SSH connections and so connections to port 443 are not possible.

 

The Browser issues two requests

https://.../fmeapiv4/workspaces/Samples/austinApartments.fmw/encodeparametervalues
-> 200

https://.../fmeserver/run/form/fmedatadownload/Samples/austinApartments.fmw
-> 400

 

The AWS Application Loadbalancer terminates the HTTPs connection and forwards to FME on HTTP port 80.

 

Nginx receives these requests on HTTP

Nginx
10.xxx.1.144 - - .21/May/2024:09:00:19 +0000] "POST /fmeapiv4/workspaces/Samples/austinApartments.fmw/encodeparametervalues HTTP/1.1" 200 44 "https://.../fmeserver/workspaces/run/Samples/austinApartments.fmw/fmedatadownload" "Mozilla/5.0 (...) Gecko/20100101 Firefox/115.0"

10.xxx.1.144 - - .21/May/2024:09:00:19 +0000] "POST /fmeserver/run/form/fmedatadownload/Samples/austinApartments.fmw HTTP/1.1" 400 220 "https://.../fmeserver/workspaces/run/Samples/austinApartments.fmw/fmedatadownload" "Mozilla/5.0 (...) Gecko/20100101 Firefox/115.0"

 

Tomcat receives these requests on HTTP

POST 127.0.0.1 - - 221/May/2024:09:00:19 +0000] "POST /fmeapiv4/workspaces/Samples/austinApartments.fmw/encodeparametervalues HTTP/1.0" 200 28 11 10
POST 127.0.0.1 - - 221/May/2024:09:00:19 +0000] "POST /fmeserver/run/form/fmedatadownload/Samples/austinApartments.fmw HTTP/1.0" 400 220 54 54

 

Running this command on the FME VM shows the connections are on port 80

tcpdump port 80 and '(tcp-syn|tcp-ack)!=0'

10:10:x.y IP ip-10-xxx-25-0.ap-southeast-2.compute.internal.46854 > ip-10-xxx-135-206.ap-southeast-2.compute.internal.http: Flags lP.], seq 1638914259:1638915245, ack 366946563, win 122, options nop,nop,TS val 4181154778 ecr 331460248], length 986: HTTP: POST /fmeapiv4/workspaces/Samples/austinApartments.fmw/encodeparametervalues HTTP/1.1

10:10:x.1y IP ip-10-xxx-25-0.ap-southeast-2.compute.internal.46854 > ip-10-xxx-135-206.ap-southeast-2.compute.internal.http: Flags lP.], seq 986:2101, ack 354, win 126, options nop,nop,TS val 4181154827 ecr 331485525], length 1115: HTTP: POST /fmeserver/run/form/fmedatadownload/Samples/austinApartments.fmw HTTP/1.1

Today we re-created the FME installation and this time we accepted the defaults. The errors above happened when we entered 443 when asked this question 'Specify the port that users will use to connect to the Web UI of this installation of FME Flow...'. The default is 80.

Now when we run the sample we get:

https://.../fmeapiv4/workspaces/Samples/austinApartments.fmw/encodeparametervalues
-> 200

https://.../fmeserver/run/form/fmedatadownload/Samples/austinApartments.fmw
-> 200

However the second request contains the following body and the web page displays “There was an error submitting the job.”

<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
</body>
</html>


We have it working now, we just needed to also carry out these instructions “Are the Service URLs correct?”

https://support.safe.com/hc/en-us/articles/25407409320845-FME-Flow-Run-Workspace-There-was-an-error-submitting-the-job

 

So changing the scheme to ‘https’ for all URLs at ‘ADMIN / System Configuration / Network & Email / Services’

 


Reply