{"id":1104,"date":"2015-06-25T20:20:41","date_gmt":"2015-06-26T03:20:41","guid":{"rendered":"https:\/\/galencharlton.com\/blog\/?p=1104"},"modified":"2015-06-25T20:20:41","modified_gmt":"2015-06-26T03:20:41","slug":"ala-annual-2015-schedule-with-bonus-mod_proxy-hackery","status":"publish","type":"post","link":"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/","title":{"rendered":"ALA Annual 2015 schedule, with bonus mod_proxy hackery"},"content":{"rendered":"<p>My ALA Annual this year is going to focus on five hashtags: #mashcat, #privacy, #nisoprivacy, #kohails, and #evgils.<\/p>\n<p>#mashcat is for <a href=\"http:\/\/mashcat.info\">Mashcat<\/a>, which an effort to build links between library systems and library metadata folks.  We&#8217;ve had some recent success with <a href=\"http:\/\/www.mashcat.info\/twitter-chat\/\">Twitter chats<\/a>, and I&#8217;ve made up some badge ribbons.  If you&#8217;d like one, tweet at me (@gmcharlt)!<\/p>\n<p>#privacy and #nisoprivacy are for patron privacy. My particular interest in using our technology to better protect it.  I&#8217;ll be running the LITA Patron Privacy Technologies Interest Group meeting on Saturday, (where I look forward to Alison Macrina&#8217;s update on Let&#8217;s Encrypt).  I&#8217;ll also be participating in the face-to-face meeting on Monday and Tuesday for the NISO <a href=\"http:\/\/www.niso.org\/topics\/tl\/patron_privacy\/\">project<\/a> to create a consensus framework for patron privacy in digital library and information systems.<\/p>\n<p>#kohails and #evgils are for Koha and Evergreen, both of which I hack on and which MPOW supports \u2013 so one of the things I&#8217;ll also be doing is wearing my vendor hat while boothing and meeting.<\/p>\n<p>Here&#8217;s my conference schedule so far, although I hope to squeeze in a Linked Data program as well:<\/p>\n<p><iframe id=\"myschedule\" src=\"\/alaac15\/user\/36364\/schedule-embed\" width=\"600\" height=\"600\"><\/iframe><\/p>\n<p>In the title of the post, I promised mod_proxy hackery. Not typical for an ALA schedule post?  Well, the ALA scheduler website allows you to choose you make your schedule public.  If you do that, you can embed the schedule in a blog post using an iframe.<\/p>\n<p>Here&#8217;s the HTML that the scheduler suggests:<\/p>\n<pre>\r\n<iframe src=\"http:\/\/alaac15.ala.org\/user\/36364\/schedule-embed\"\r\n width=\"600\" height=\"600\"><\/iframe>\r\n<\/pre>\n<p>There&#8217;s a little problem with that suggestion, though: my blog is HTTPS-only.  As a consequence, an HTTP iframe won&#8217;t be rendered by the browser.<\/p>\n<p>What if I change the embedded URL to &#8220;https:\/\/alaac15.ala.org\/user\/36364\/schedule-embed&#8221;? Still doesn&#8217;t work, as the SSL certificate returned is for https:\/\/connect.ala.org, which doesn&#8217;t match alaac15.ala.org. <em>*cough*<\/em><\/p>\n<p>Rather than do something simple, such as using copy-and-paste, I ended up configuring Apache to set up a reverse proxy.  That way, my webserver can request my schedule from ALA&#8217;s webserver (as well as associated CSS), then present it to the web browser over HTTPS.  Here&#8217;s the configuration I ended up with, with a bit of <a href=\"http:\/\/stackoverflow.com\/a\/14448446\/880696\">help from Stack Overflow<\/a>:<\/p>\n<pre>\r\n    # ALA scheduler needs SSL with a cert that matches badly\r\n    ProxyPass \/alaac15\/ http:\/\/alaac15.ala.org\/\r\n    ProxyPassReverse \/alaac15\/ http:\/\/alaac15.ala.org\/\r\n    ProxyHTMLURLMap http:\/\/alaac15.ala.org \/alaac15\/\r\n\r\n    <Location \/alaac15\/>\r\n       ProxyPassReverse \/\r\n       SetOutputFilter  proxy-html\r\n       ProxyHTMLURLMap http:\/\/alaac15.ala.org \/alaac15\/\r\n       ProxyHTMLURLMap \/ \/alaac15\/\r\n       ProxyHTMLURLMap  \/alaac15\/ \/alaac15\/\r\n       RequestHeader    unset  Accept-Encoding\r\n    <\/Location>\r\n<\/pre>\n<p>This is a bit ugly (and I&#8217;ll be disabling the reverse proxy after the conference is over)&#8230; but it works for the moment, and also demonstrates how one might make a resolutely HTTP-only service on your intranet accessible over HTTPS publicly.<\/p>\n<p>Onward! I look forward to meeting friends old and new in San Francisco!<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-1104\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\"><span>Tumblr<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>My ALA Annual this year is going to focus on five hashtags: #mashcat, #privacy, #nisoprivacy, #kohails, and #evgils. #mashcat is for Mashcat, which an effort&#8230;<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-1104\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-tumblr sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=tumblr\" target=\"_blank\" title=\"Click to share on Tumblr\"><span>Tumblr<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon\" href=\"https:\/\/galencharlton.com\/blog\/2015\/06\/ala-annual-2015-schedule-with-bonus-mod_proxy-hackery\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"ALA Annual 2015 schedule, with bonus mod_proxy hackery https:\/\/wp.me\/p3gJ9y-hO #alaac15","jetpack_is_tweetstorm":false},"categories":[22],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3gJ9y-hO","_links":{"self":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/1104"}],"collection":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/comments?post=1104"}],"version-history":[{"count":30,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/1104\/revisions"}],"predecessor-version":[{"id":1134,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/posts\/1104\/revisions\/1134"}],"wp:attachment":[{"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/media?parent=1104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/categories?post=1104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/galencharlton.com\/blog\/wp-json\/wp\/v2\/tags?post=1104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}