Personal tools

Views

User-Agent を隠す proxy

written by ultraviolet on

BASIC認証のかかったココログのblogが、以前は携帯からも(BASIC認証可な端末なら)閲覧できたのに、「携帯に対応しました」とかいうニュースリリースと共に携帯から閲覧不可になってしまった。許せねえ。

仕方が無いので、apache に mod_proxy を入れて、携帯からもここを経由すればココログの特定blog をPC同等に閲覧できるようにしてみました。
ココログはどうも User-Agent ヘッダで携帯かどうかを識別してる模様なので、mod_proxy の前段で mod_perl を使ってこのヘッダを剥ぎ取ってやります。こんな感じ。

Apache/NoUserAgentProxy.pm

package Apache::NoUserAgentProxy;

use strict;
use Apache::Constants qw(:common);

sub handler
{
    my $r = shift;
    $r->header_in('User-Agent','RauruProxy/0.1');
    return OK;
}

1;

httpd.conf

ProxyPass /cocolog/foobar http://foobar.cocolog-nifty.com/blog
ProxyPassReverse /cocolog/foobar http://foobar.cocolog-nifty.com/blog
 <Directory proxy:http://foobar.cocolog-nifty.com/blog*>
    Allow from all
 </Directory>
 <Location /cocolog/foobar>
   PerlHeaderParserHandler Apache::NoUserAgentProxy
 </Location>

よしよしこれでうまくいった… と思ったらなんかパスワードを二回聞かれるな。むー。

2007/04/11 追記:

パスワードを二回聞かれるのは、ココログがスタイルシート内で画像URIをホスト名込みで指定してたためでした。まったくろくなことをせんな…

2007/04/12 追記:

mod_proxy_html なるモジュールを使えば HTML 内の URI も書き換えられるじゃーん、と思ってやってみたんですが、これって HTML を libxml2 の SAXパーサ使ってパースして書き換えてるのね。CSS 内の画像URIは書き換えられんのか…


Leave Your Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

« Back to text comment