HardServerUrl
No edit summary
(Automatically adding template at the end of the page.)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
MDriven Server (and TurnkeyServer) adapts by looking at the incoming requests to discern what its own address is.  
MDriven Server (and TurnkeyServer) adapts by looking at incoming requests to discern its own address.  


In certain situations this is not desired.  
In certain situations, this is not desirable.  


One example is if you have the application behind a load balancer or reverse proxy and the load balancer pings your app with an address that is not the desired server address.
One example is if you have the application behind a load balancer or reverse proxy, and the load balancer pings your app with an address that is not the desired server address.


This could lead to your app getting confused to what its true url should be.
This could lead to your app getting confused as to what its true URL should be.


To mitigate this you can create a App_Data/HardServerUrl.xml file with content like this:
To mitigate this, you can create an App_Data/HardServerUrl.xml file with content like this:
  <root HardServerUrl="<nowiki>https://theaddressyouwantyourapplicationtohave</nowiki>"></root>
  <root HardServerUrl="<nowiki>https://theaddressyouwantyourapplicationtohaveWhenWeTalkToTHISInstanceAndAvoidTheLoadBalancer</nowiki>"></root>
When setting the hardserverurl in systems that also use Turnkey you should(possibly) also make sure turnkey use the proper url to mdriven server by setting the [[MDrivenServerOverride]].xml settings.
When setting the HardServerUrl in systems that also use Turnkey, you should(possibly) also make sure the Turnkey uses the proper URL to MDrivenServer by setting the [[MDrivenServerOverride]].xml settings.


'''SignalR issue''': Setting HardServerUrl for the TurnkeyApplication effects the SignalRConnection so it may be required to make your Application find itself under the local server address rather than some reverseproxy address used in calling it.
'''SignalR issue''': Setting HardServerUrl for the TurnkeyApplication affects the SignalRConnection. You may be required to make your application find itself under the local server address rather than some reverse-proxy address used in calling it.


This functionality is available in builds from 2019-04-17
This functionality is available in builds from 2019-04-17.


You can verify that the HardServerUrl is in effect by checking log after start up in MDrivenServer versions after 2022-04-28:
You can verify that the HardServerUrl is in effect by checking the log after start-up in MDrivenServer and Turnkey versions after 2022-04-28:
  2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml NOT found - App url is unchanged: https://localhost:44368
  2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml NOT found - App url is unchanged: https://localhost:44368
or  
or  
  2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml found and applied:  https://localhost:44368
  2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml found and applied:  https://localhost:44368
[[Additional considerations with load balancing Turnkey and MDrivenServer]]
[[Category:MDriven Server]]
[[Category:MDriven Turnkey]]
{{Edited|July|12|2024}}

Latest revision as of 15:35, 10 February 2024

MDriven Server (and TurnkeyServer) adapts by looking at incoming requests to discern its own address.

In certain situations, this is not desirable.

One example is if you have the application behind a load balancer or reverse proxy, and the load balancer pings your app with an address that is not the desired server address.

This could lead to your app getting confused as to what its true URL should be.

To mitigate this, you can create an App_Data/HardServerUrl.xml file with content like this:

<root HardServerUrl="https://theaddressyouwantyourapplicationtohaveWhenWeTalkToTHISInstanceAndAvoidTheLoadBalancer"></root>

When setting the HardServerUrl in systems that also use Turnkey, you should(possibly) also make sure the Turnkey uses the proper URL to MDrivenServer by setting the MDrivenServerOverride.xml settings.

SignalR issue: Setting HardServerUrl for the TurnkeyApplication affects the SignalRConnection. You may be required to make your application find itself under the local server address rather than some reverse-proxy address used in calling it.

This functionality is available in builds from 2019-04-17.

You can verify that the HardServerUrl is in effect by checking the log after start-up in MDrivenServer and Turnkey versions after 2022-04-28:

2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml NOT found - App url is unchanged: https://localhost:44368

or

2022-04-28 11:41:30,773 [9] INFO - <path>\App_Data\HardServerUrl.xml found and applied:  https://localhost:44368

Additional considerations with load balancing Turnkey and MDrivenServer

This page was edited 96 days ago on 02/10/2024. What links here