Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-3901

Enable Mesos to be able know when it is hosted behind a proxy with a URL prefix

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • None
    • None
    • webui

    Description

      If Mesos is run behind a proxy with a URL prefix e.g. https://<hostname>:<port>/services/mesos (`/services/mesos` being the URL prefix), sandboxes in mesos don't load. This happens because when
      Mesos is accessed through a proxy at https://<hostname>:<port>/services/mesos, Mesos tries to request slave state from https://<hostname>:<port>/slave/20151110-232502-218431498-5050-1234-S1/slave(1)/state.json?jsonp=angular.callbacks._4. This URL is missing the /services/mesos path prefix, so the request fails.
      Fixing this by rewriting URLs in the body of every response, would not be a clean solution and can be error prone.

      After searching around a bit we've learned that this is apparently a common issue with webapps, because there is no standard specification for making them aware of their base URL path. Some will allow you to specify a base path in configuration[1], others will respect an X-Forwarded-Path header if a proxy provides it[2], and others don't handle this at all.

      It would be great to have explicit support in for this in Mesos.

      [1] http://search.cpan.org/~bobtfish/Catalyst-TraitFor-Request-ProxyBase-0.000005/lib/Catalyst/TraitFor/Request/ProxyBase.pm
      [2] https://github.com/mattkenney/feedsquish/blob/master/rupta.py#L94

      Attachments

        Issue Links

          Activity

            People

              haosdent@gmail.com haosdent
              surdy Harpreet
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated: