0
Answered

How to host a Docker FileRun with secondery website address

344094952 8 months ago updated 8 months ago 8

I'm tring to host a FileRun with  secondery website address, like "https://192.168.0.110/filerun"

But I found most post or get http request will treat host as "https://192.168.0.110" which result bad request.

There are some other services running on my server and with only one 443 port canbe used for wide web, 

so the root address can't be used. How can I implement this function with some other ways.

Well you could use a reverse proxy, but you need to have a domain name registered. It seems you're running this on your private/home network? If so, you don't necessarily need to use https with port 443, you can just use some random port with http and you need to add the /filerun location on your server configuration file.

I have made additional remarks as follow:

The local IP was justused for debug and the real working environment is a wideweb network with domain name.I also tried both local access and remote domain access, but the problems are the same. The FileRun server was host in 3001 port and can be accessed by local directedly , like "http://192.168.0.110:3001"

However, for some  policy issues, my server can open only one 443 port for https request and other ports can't be accessed from remote or http request by domain. So I has used nginx reverse proxy for serval server with different port,  and make proxy-pass from 443 to 3001 for filerun.

Sorry, you "won't" need to add the /filerun location header since you can use a different port, if desired.

Yes, I believe you are right. But my problem was occured during nginx reverse proxy, can you give me some further tips please

Under review

The problem is that you are using a path at the client side but not at the FileRun side. How is FileRun suppose to know that you are accessing a URL which ends with "/filerun" in order to create HTML links that end the same?

You either remove the "/filerun" location in the public HTTP server, or add it in the private one.

Answered

There is a third option. Add inside "customizables/config.php": (create if needed)

<?php
$config['url']['root'] = 'https://192.168.0.110/filerun/';

To hardcode the URL FileRun will use. Remember to update this if changes.

Thanks a lot, I'm just amateur in program and little knowledge about website. Your  third option gives me quite help with my visual field. I search for some php knowledge and make a further changes.

As I found "config['url']['root']" variable was pre-defined in environment by some php echo.

Finally, I found this variables perhaps get value from information http-head like http-host. So I rewrite it into this.

<?php
$config['url']['root'] = $config['url']['root'].'/filerun/';>

In this case, it can be accessed from port like 192.168.0.110:3001, local https://192.168.0.110/filerun/, and remote from my domain name.

Thank you again