License Server Help

Reverse proxy

If License Server (FLS) runs behind a reverse proxy, you need to set a proxy hostname to jetty.virtualHosts.names property. Otherwise, you will receive an error similar to the following and will not get access to the server.

HTTP ERROR 403 Problem accessing /. Reason: Passed value of header "Host" is not allowed. Please contact your server administrator. Powered by Jetty:// 9.3.24.v20180605

If a host configured for FLS software doesn't match a host of a machine where the software is running, you also need to set this hostname to the property, which validates the value of the Host header in the requests. In this case, FLS will process the requests with the Host headers, which match the hostnames assigned to this property. If the Host header doesn't match any configured hostnames, you will get the same error.

Configuring

  1. Change to the FLS installation directory using the command line.

  2. Stop FLS using the following command:

    ./bin/license-server.sh stop
  3. Set the value of the jetty.virtualHosts.names option to the reverse proxy server host. If there are several hosts, specify them separating with a comma. For example, if its value is proxy-server.domain.com and fls.company.net, run the following command:

    ./bin/license-server.sh configure \ --jetty.virtualHosts.names=proxy-server.domain.com,fls.company.net
  4. Start FLS using the following command:

    ./bin/license-server.sh start

If License Server (FLS) runs behind a reverse proxy, you need to set a proxy hostname to jetty.virtualHosts.names property. Otherwise, you will receive an error similar to the following and will not get access to the server.

HTTP ERROR 403 Problem accessing /. Reason: Passed value of header "Host" is not allowed. Please contact your server administrator. Powered by Jetty:// 9.3.24.v20180605

If a host configured for FLS software doesn't match a host of a machine where the software is running, you also need to set this hostname to the property, which validates the value of the Host header in the requests. In this case, FLS will process the requests with the Host headers, which match the hostnames assigned to this property. If the Host header doesn't match any configured hostnames, you will get the same error.

Configuring

  1. Change to the FLS installation directory using the command line.

  2. Stop FLS using the following command:

    ./bin/license-server.sh stop
  3. Set the value of the jetty.virtualHosts.names option to the reverse proxy server host. If there are several hosts, specify them separating with a comma. For example, if its value is proxy-server.domain.com and fls.company.net, run the following command:

    ./bin/license-server.sh configure \ --jetty.virtualHosts.names=proxy-server.domain.com,fls.company.net
  4. Start FLS using the following command:

    ./bin/license-server.sh start

By default, License Server (FLS) doesn't validate the Host header in the requests to the server. To enable the Host header validation, you need to configure one of the following properties:

  1. --virtual-hosts defines the hostnames that will send requests to FLS.

  2. --virtual-hosts-default has three possible values:

    • none - no virtual hosts are added. If the virtual-hosts property is also not set, then the virtual-hosts list is empty and there will be no restriction applied to the Host header.

    • local - the list of virtual hosts contains all the local interfaces of the server including the configured listen address and server hostnames.

    • all-known - the list of virtual hosts contains all the network interfaces of the server including the configured listen address and server hostnames.

If the Host header doesn't match any configured property values, you will get an error similar to the following:

HTTP ERROR 403 Problem accessing /. Reason: Passed value of header "Host" is not allowed. Please contact your server administrator. Powered by Jetty:// 9.3.24.v20180605

Configuring

  1. Stop FLS using the Services Microsoft Management Console (MMC) (Control Panel > Administrative Tools > Services > JetBrains License Service)

  2. Change to the FLS installation directory using the command line with Administrator permissions.

  3. Set the value of virtual-hosts to the host configured for FLS usage. If there are several hosts, specify them separating with a comma.

    For example, if it is the proxy-server.domain.com and fls.company.net, run the following command:

    .\bin\license-server.bat configure ^ --virtual-hosts=proxy-server.domain.com,fls.company.net
  4. Set the virtual-hosts-default property to the desirable value, which is described above.

    For example, if the selected value is local, run the following command:

    .\bin\license-server.bat configure ^ --virtual-hosts-default=local
  5. Start FLS using the Services Microsoft Management Console (MMC)

Last modified: 25 August 2023