add reference to peteg's revert code
[ikiwiki.git] / doc / todo / want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
index 1547c39eb08976e2ddfbf8a4529ba48871a4cd5f..bb0a87183e656aa52c1176fee4d8e0218e479278 100644 (file)
@@ -88,16 +88,55 @@ you don't like my approach:
 > both url and cgiurl to use `https://secure.foo.com/...` and rely on
 > relative links to keep users of `http://insecure.foo.com/` on http until
 > they need to use the cgi? 
->
+
+>> My problem with that is that uses of the CGI aren't all equal (and that
+>> the CA model is broken). You could put CGI uses in two classes:
+>>
+>> - websetup and other "serious" things (for the sites I'm running, which
+>>   aren't very wiki-like, editing pages is also in this class).
+>>   I'd like to be able to let privileged users log in over
+>>   https with httpauth (or possibly even a client certificate), and I don't
+>>   mind teaching these few people how to do the necessary contortions to
+>>   enable something like CACert.
+>>
+>> - Random users making limited use of the CGI: do=goto, do=404, and
+>>   commenting with an OpenID. I don't think it's realistic to expect
+>>   users to jump through all the CA hoops to get CACert installed for that,
+>>   which leaves their browsers being actively obstructive, unless I either
+>>   pay the CA tax (per subdomain) to get "real" certificates, or use plain
+>>   http.
+>>
+>> On a more wiki-like wiki, the second group would include normal page edits.
+>>
+>>> I see your use case. It still seems to me that for the more common
+>>> case where CA tax has been paid (getting a cert that is valid for
+>>> multiple subdomains should be doable?), having anything going through the
+>>> cgiurl upgrade to https would be ok. In that case, http is just an
+>>> optimisation for low-value, high-aggregate-bandwidth type uses, so a
+>>> little extra https on the side is not a big deal. --[[Joey]]
+>>
+>> Perhaps I'm doing this backwards, and instead of having the master
+>> `url`/`cgiurl` be the HTTP version and providing tweakables to override
+>> these with HTTPS, I should be overriding particular uses to plain HTTP...
+>>
+>> --[[smcv]]
+>>> 
+>>> Maybe, or I wonder if you could just use RewriteEngine for such selective
+>>> up/downgrading. Match on `do=(edit|create|prefs)`. --[[Joey]]
+
 > I'm unconvinced.
 > 
 > `Ikiwiki::baseurl()."foo"` just seems to be asking for trouble,
 > ie being accidentially written as `IkiWiki::baseurl("foo")`,
 > which will fail when foo is not a page, but some file.
-> 
+
+>> That's a good point. --s
+
 > I see multiple places (inline.pm, meta.pm, poll.pm, recentchanges.pm)
 > where it will now put the https url into a static page if the build
 > happens to be done by the cgi accessed via https, but not otherwise.
 > I would rather not have to audit for such problems going forward.
-> 
-> --[[Joey]] 
+
+>> Yes, that's a problem with this approach (either way round). Perhaps
+>> making it easier to run two mostly-synched copies like I was previously
+>> doing is the only solution... --s