Opened at 2008-04-19T22:25:06Z
Last modified at 2013-09-14T17:37:02Z
#389 new enhancement
Implement Web Portal feature.
Reported by: | nejucomo | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | undecided |
Component: | code-frontend-web | Version: | 1.0.0 |
Keywords: | portal ui | Cc: | |
Launchpad Bug: |
Description (last modified by zooko)
A really simple feature could make Tahoe into a public "web portal". A web portal is a website that presents a given Tahoe directory as it's root url path, for example, these two links would be equivalent:
http://example.website.com/foo/bar.html http://<my tahoe node>/uri/<web portal dir cap>/foo/bar.html
The portal appears like any other website to surfers (aside from headers and performance). The server can run on a system with a tiny disk, and the web site operator need not worry about site backups.
The security implications seem straightforward, given the design of Tahoe.
I haven't looked at the webish code, but I imagine this could be implemented by adding a single configuration setting for the portal dir cap, and then prefixing all URL requests with "/uri/$dircap" before passing the request to the handler.
Change History (6)
comment:1 Changed at 2008-04-23T02:10:32Z by warner
- Description modified (diff)
comment:2 Changed at 2008-04-23T02:14:28Z by warner
Hm, so the way that S3 does this is to look for a HTTP/1.1 Hostname: header and manipulate the URL based upon that. In our case, we could have a config file with lines like:
example.website.com: DIRCAP other.website.com: DIRCAP
and then the twisted.web resource could switch on the Hostname: header to decide what cap to start with.
Security wise, this would give unbounded read- (or write-, if DIRCAP is RW) access to everything below DIRCAP, which is pretty easy to explain and understand.
Intriguing..
comment:3 Changed at 2008-05-01T12:06:40Z by zooko
Couldn't this be implemented by using apache and a reverse proxy?
comment:4 Changed at 2008-06-01T20:57:45Z by warner
- Milestone changed from eventually to undecided
comment:5 Changed at 2009-03-08T22:03:37Z by warner
- Component changed from unknown to code-frontend-web
- Owner nobody deleted
comment:6 Changed at 2013-09-14T17:37:02Z by zooko
- Description modified (diff)
nejucomo wrote a reverse proxy config for nginx for this:
https://bitbucket.org/nejucomo/lafs-rpg/
I used it (after tweaking it a bit) for zooko.com:
(escaped the urls in the description to fix formatting)