[Pulp-dev] Webserver owning the entire url namespace?

Patrick Creech pcreech at redhat.com
Fri Nov 3 13:05:30 UTC 2017


On Thu, 2017-11-02 at 17:19 -0400, Brian Bouterse wrote:
> I think Pulp probably has to be rooted at / on any given site so that it can host live APIs. 

While this is possibly a safe assumption for the standalone basic use case, it is not neccessarily for all use cases.  Think of the web server as just a layer who's only job is to take incoming http
connections listening at a user defined location and passing them along to your application.

I, as a system admin working for a small company, have a paid for certificate for myhost.example.com.  To maximize my investment (its really hard to get approvals from finance), I want to host all the
things I can under this certificate, because it has great trust and great security around it at my organization.  So, I like to host as much stuff under it as I can, separating them out based on url. 
I would maybe want the pulp web api to live under /myteam/pulpapi/ ([0]), while content serving listening at /mycontent/pulpcontent/ ([0]). By having your application take over the root of the web
server, I now am unable to do that, and have to find a way to proxy this content from one server listening at the above endpoints to pulp instead of just hosting the web endpoints where I need too.

So, while / is possibly a sane default, pulp probably shouldn't make assumptions in its codebase that it always owns the entire url space for that fqdn, and instead provide the end user the
flexibility to configure his webserver to host it on any fqdn + base_url he would like for any web listening component in pulp.

This is a pretty common thing to do, and many reusable web applications provide this flexibility.  For direct examples, see Atlassian's products:

https://confluence.atlassian.com/doc/configuring-the-server-base-url-148592.html

https://confluence.atlassian.com/adminjiraserver071/configuring-the-base-url-802593107.html


[0] note:  these are the endpoints the user would set as base_url's for pulp.  pulp's api would listen at something like: 'https://myhost.example.com/myteam/pulpapi/api/v3'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20171103/b7dc8363/attachment.sig>


More information about the Pulp-dev mailing list