Implement Web Portal feature. #389

Open
opened 2008-04-19 22:25:06 +00:00 by nejucomo · 4 comments
nejucomo commented 2008-04-19 22:25:06 +00:00
Owner

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.

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.
tahoe-lafs added the
unknown
minor
enhancement
1.0.0
labels 2008-04-19 22:25:06 +00:00
tahoe-lafs added this to the eventually milestone 2008-04-19 22:25:06 +00:00
warner commented 2008-04-23 02:10:32 +00:00
Author
Owner

(escaped the urls in the description to fix formatting)

(escaped the urls in the description to fix formatting)
warner commented 2008-04-23 02:14:28 +00:00
Author
Owner

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..

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..
zooko commented 2008-05-01 12:06:40 +00:00
Author
Owner

Couldn't this be implemented by using apache and a reverse proxy?

Couldn't this be implemented by using apache and a reverse proxy?
tahoe-lafs modified the milestone from eventually to undecided 2008-06-01 20:57:45 +00:00
tahoe-lafs added
code-frontend-web
and removed
unknown
labels 2009-03-08 22:03:37 +00:00
zooko commented 2013-09-14 17:37:02 +00:00
Author
Owner

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:

https://zooko.com/

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: <https://zooko.com/>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tahoe-lafs/trac-2024-07-25#389
No description provided.