2013年11月6日水曜日

(FreeBSD) portsnapで認証付きproxyサーバを使う

portsnapを、ユーザー名とパスワードで認証が必要なproxyサーバ経由で使おうと思ったら、うまくいかない・・・



よくあるように環境変数http_proxyで



setenv http_proxy http://ユーザー名:パスワード@proxyサーバ名:ポート番号/



と指定していたのですが、コレジャナイ、だったようです。



ネット検索してみたらすぐ判明。

setenv HTTP_PROXY http://proxyサーバ名:ポート番号/
setenv HTTP_PROXY_AUTH "basic:*:ユーザー名:パスワード"



と設定するそうです。



portsnapでは、phttpgetを使っていて、こんな感じになっているようです。



# grep HTTP_PROXY_AUTH /usr/src/usr.sbin/portsnap/phttpget/*
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:static char *            env_HTTP_PROXY_AUTH;
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c: env_HTTP_PROXY_AUTH = getenv("HTTP_PROXY_AUTH");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:     (env_HTTP_PROXY_AUTH != NULL) &&
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:     (strncasecmp(env_HTTP_PROXY_AUTH, "basic:" , 6) == 0)) {
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         (void) strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         (void) strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         proxy_auth_user = strsep(&env_HTTP_PROXY_AUTH, ":");
/usr/src/usr.sbin/portsnap/phttpget/phttpget.c:         proxy_auth_pass = env_HTTP_PROXY_AUTH;


あ~あ、またか。



ちょっと探してみたのですが、このやり方の説明が、マニュアルで見つからないんですよね。



20131105



0 件のコメント:

コメントを投稿