Jump to content
alternapop

IIS 8.5 reverse proxy to FMPS 16

Recommended Posts

I have 2 servers running Windows Server, one is running FMP Server 16 and the other IIS 8.5 I'm trying to set up a reverse proxy from the IIS server to our FMP server but am getting errors. Nothing I've tried is working. Has anyone been able to get this to work?  I have a domain name pointing to the IIS server and want the url to stay the same and have it load a specified database from FMPS.

These are the two errors I'm getting depending on how I have web.config configured.

"502 - Web server received an invalid response while acting as a gateway or proxy server."

"Failed to load the bootstrap javascript: ./../VAADIN/vaadinBootstrap.js?v=7.7.9.fmi"

What specific rule do I need to use in web.config?

Both servers have ssl certs.

Thanks!

Share this post


Link to post
Share on other sites

Did you have it working before 16 and it just now fails?

Why the reverse proxy?  Perhaps there is another way to achieve the same thing and work around the problem?

Share this post


Link to post
Share on other sites

It sounds like you could just install FM Server on the IIS machine, and configure it as a worker, connected to the master server. I think you are essentially wanting a two machine deployment, and this is how you would set that up.

Mike

Share this post


Link to post
Share on other sites
5 hours ago, Wim Decorte said:

Did you have it working before 16 and it just now fails?

Why the reverse proxy?  Perhaps there is another way to achieve the same thing and work around the problem?

I've never tried to do this before so this is the first time.

I'm trying to do a reverse proxy because from what I've read that's what is required to achieve this. Is there a better way?

What about just pointing the domain to the FMP Server and setting up another site in addition to the FMWebSite? I'm not sure how this is best achieved seeing that it's not pointing to a directory on the server but a database path.

 

4 hours ago, Mike Duncan said:

It sounds like you could just install FM Server on the IIS machine, and configure it as a worker, connected to the master server. I think you are essentially wanting a two machine deployment, and this is how you would set that up.

Mike

Filemaker is rather strict about supporting machines that have anything else installed other than FMPS plus I'm trying to do this from our main web server so I'm trying to avoid adding unnecessary components.

Share this post


Link to post
Share on other sites
2 hours ago, alternapop said:

I'm trying to do a reverse proxy because from what I've read that's what is required to achieve this.

Can you define the "this"?  That would help us out knowing what you need to achieve.

For most deployments you don't need anything as fancy as reverse proxies.  You'd need those if you want to hide the actual resource or have multiple inside your LAN that you need to route to, those kinds of things.

Share this post


Link to post
Share on other sites
6 minutes ago, Wim Decorte said:

Can you define the "this"?  That would help us out knowing what you need to achieve.

 

from above, "I have a domain name pointing to the IIS server and want the url to stay the same and have it load a specified database from FMPS."

Currently, it does a redirect to FMPS but the address changes in the address bar. I would like the url to stay at the original domain that only loads a specific database.

Share this post


Link to post
Share on other sites
3 hours ago, alternapop said:

I've never tried to do this before so this is the first time.

I'm trying to do a reverse proxy because from what I've read that's what is required to achieve this. Is there a better way?

What about just pointing the domain to the FMP Server and setting up another site in addition to the FMWebSite? I'm not sure how this is best achieved seeing that it's not pointing to a directory on the server but a database path.

 

Filemaker is rather strict about supporting machines that have anything else installed other than FMPS plus I'm trying to do this from our main web server so I'm trying to avoid adding unnecessary components.

Is this for supporting WebDirect? or custom web publishing? For WebDirect, you are limited in options, it must be from a worker machine. For CWP, you can just reference the host in your code.

Share this post


Link to post
Share on other sites
45 minutes ago, Mike Duncan said:

Is this for supporting WebDirect? or custom web publishing?

 

Via webdirect.  Usually, when a server is behind a firewall and the public can't access it but one has a public facing web server you can do a reverse proxy. This way you can give the public access to a website that's behind the firewall.

Share this post


Link to post
Share on other sites

Did you manage to find a fix for this problem?

I had the same database serviced to external world via f5 reverse proxy. After the upgrade to FileMaker 16 server, the reverse proxy works till the root of IIS 8.5.

But once the url has "/fmi/webd/..." the URL rewrite is coming into picture overwriting the reverse proxy name with the web server address. 

I have the same requirement to have a public facing (branded) URL servicing through a back end web server within the network.

Share this post


Link to post
Share on other sites
9 hours ago, Phani said:

Did you manage to find a fix for this problem?

I had the same database serviced to external world via f5 reverse proxy. After the upgrade to FileMaker 16 server, the reverse proxy works till the root of IIS 8.5.

But once the url has "/fmi/webd/..." the URL rewrite is coming into picture overwriting the reverse proxy name with the web server address. 

I have the same requirement to have a public facing (branded) URL servicing through a back end web server within the network.

I have not found a solution, sorry.

Share this post


Link to post
Share on other sites

After a lot of research and experimentation, i have a solution that works with reverse proxy and FMS 16. 

This solution worked in my circumstances and thought of sharing it for the benefit of others and is not a fix. I have not raised this issue with FM Inc Support.

So, this is how it worked for me.

  1. Install FM Server and web on a single server (mine originally was a multi-machine deployment) to support web direct
  2. Reverse proxy to point to the port 80 of the machine
  3. Do not have SSL certificate installed on the machine as this can cause "multiple" redirects problem on browser and your App would never load

Share this post


Link to post
Share on other sites
On 8/25/2017 at 8:25 PM, Wim Decorte said:

For most deployments you don't need anything as fancy as reverse proxies. You'd need those if you want to hide the actual resource or have multiple inside your LAN that you need to route to, those kinds of things.

For me it removes the unexplainable 802 errors. Hiding the source is always good. My nginx has access to WAN and LAN( fm16s.mydomain.lan ) NICs

Which reverse proxy do you use? I use nginx

My config looks like this:

$ exa -lT /usr/local/etc/nginx/
drwxr-xr-x    - user 16 Oct 19:57 .
.rw-r--r-- 1.1k user 31 May 11:57 ├── fastcgi.conf
.rw-r--r-- 1.1k user 31 May 11:57 ├── fastcgi.conf.default
.rw-r--r-- 1.0k user 31 May 11:57 ├── fastcgi_params
.rw-r--r-- 1.0k user 31 May 11:57 ├── fastcgi_params.default
.rw-r--r-- 2.8k user 31 May 11:57 ├── koi-utf
.rw-r--r-- 2.2k user 31 May 11:57 ├── koi-win
.rw-r--r-- 4.0k user 31 May 11:57 ├── mime.types
.rw-r--r-- 4.0k user 31 May 11:57 ├── mime.types.default
.rw-r--r-- 2.8k user 11 Jul 20:16 ├── nginx.conf
.rw-r--r-- 2.7k user 31 May 11:57 ├── nginx.conf.default
.rw-r--r--  636 user 31 May 11:57 ├── scgi_params
.rw-r--r--  636 user 31 May 11:57 ├── scgi_params.default
drwxr-xr-x    - user 16 Oct 19:57 ├── servers
.rw-r--r--  272 user 11 Jul 19:49 │  ├── local-reverse-proxy.conf
.rw-r--r--  274 user 31 May 12:32 │  └── reverse-proxy-fm16.conf
.rw-r--r--  664 user 31 May 11:57 ├── uwsgi_params
.rw-r--r--  664 user 31 May 11:57 ├── uwsgi_params.default
.rw-r--r-- 3.6k user 31 May 11:57 └── win-utf

$ cat /usr/local/etc/nginx/servers/reverse-proxy-fm16.conf
server {
  listen 0.0.0.0:591;

  location / {
    proxy_pass http://fm16s.mydomain.lan:80;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

 

Edited by ggt667

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×

Important Information

By using this site, you agree to our Terms of Use.