[[PukiWiki/1.4]]

*Proxy対応について [#v2f0a95c]

PukiWiki 1.4 では、Proxy対応がされています。Proxy対応されている機能でのみ
Proxy経由での処理が実現されます。現時点においては、TrackBack、Referer、および
Proxy経由での処理が実現されます。現時点においては、TrackBack、[[Referer]]、および
showrss のみとなっています。
近々、自作プラグインなどでもサポートされてくることでしょう。

**サポートレベル [#v732ea0b]
SOCKS5 には対応できていません。

-SOCKS Protocol Version 5 ([http://archive.socks.permeo.com/rfc/rfc1928.txt rfc1928])
-Username/Password authentication for SOCKSv5 ([http://archive.socks.permeo.com/rfc/rfc1929.txt rfc1929]) 
-GSS-API (Generic Security Service Application Programming Interface) authentication for SOCKSv5 ([http://archive.socks.permeo.com/rfc/rfc1961.txt rfc1961]).


**設定 [#n4551ddd]

-pukiwiki.ini.php

 /////////////////////////////////////////////////
 // HTTPリクエストにプロキシサーバを使用する
 $use_proxy = 0;
 // proxy ホスト
 $proxy_host = 'proxy.xxx.yyy.zzz';
 // proxy ポート番号
 $proxy_port = 8080;
 // プロキシサーバを使用しないホストのリスト
 $no_proxy = array(
 'localhost',        // localhost 
 '127.0.0.0/8',      // loopback
 // '10.0.0.0/8'     // private class A 
 // '172.16.0.0/12'  // private class B 
 // '192.168.0.0/16' // private class C
 //'no-proxy.com',
 );

|変数名|設定値|デフォルト|備考|h
|$use_proxy|1|0(無効)|Proxy機能を利用するかどうか|
|$proxy_host|||Proxyサーバ名(通常は、IPアドレスを指定する)|
|$proxy_port||8080|Proxyサーバのポート番号|
|$no_proxy|||Proxyを利用しないサーバリスト|

-ループバック
>RFC3330 でも記述されていますが、ループバックアドレスは、
127.0.0.1 に限定されたものではありません。
通常、127 は全て、ループバックアドレスであると判断します。

//--127.0.0.0/8
//>と定義して利用して下さい。

-プライベートアドレス

|Class|範囲||h
|A|10.0.0.0~10.255.255.255|10.0.0.0/8|
|B|172.16.0.0~172.31.255.255|172.16.0.0/12|
|C|192.168.0.0~192.168.255.255|192.168.0.0/16|

>RFC1918 に IPv4 におけるプライベートアドレスが定義されています。
必要であれば、確認して下さい。
<
>イントラネットなどにおける、インバウンドとアウトバウンドなどの
定義は、各社まちまちであり、どこまでを Proxyサーバが扱うのか?
なども違ってきますので、一律、プライベートアドレスであれば、
Proxyしない。という手はできませんので、個別定義が必要となります。
<
>また、Proxyサーバをトラフィック削減のために、キャッシュサーバとして利用する
場合もあります。この場合は、インバウンド内であっても、
そのような利用も考えられます。

-Proxyサーバ名
>通常、Proxyサーバ名の指定は、IPアドレスを直接指定するのが良いとされています。
例えば、Proxyサーバ名としてブラウザ定義した場合には、
毎回、無駄な名前解決が入る。ということを理解して名称を利用下さい。

**プラグイン開発者向け [#a7b82264]
proxy.php に、http_request()が定義されているので、その関数を利用するように
変更すれば、Proxy対応されたプラグインとなる。
今後開発するプラグインでは、自力で fopen なりをしないように、お願いします。

詳細は、ソースを確認して下さい。

***http_request() [#qd6925bc]

-引数
|変数名|説明|デフォルト|h
|$url|http://から始まるURL(http://user:pass@host:port/path?query)|なし|
|$url|http://から始まるURL(http&#x3a;//user&#x3a;pass@host&#x3a;port/path?query)|なし|
|$method|GET, POST, HEADのいずれか|GET|
|$headers|任意の追加HTTPヘッダ|なし|
|$post|POSTの時に送信するデータを格納した配列('変数名'=>'値')|なし|

--user:pass
>Proxyサーバを経由して、参照するサーバで BASIC認証が要求される場合は、
ここに、ユーザIDとパスワードを定義することで、引き渡すことが可能です。

-戻り値
|配列名|説明|h
|query|Query String|
|rc|エラー番号(レスポンスコード)|
|header|HTTPヘッダーそのもの|
|data|データ|

-例

 $url = "http://pukiwiki.sourceforge.jp/dev/?cmd=read&page=PukiWiki%2F1.4%2FProxy&refer=PukiWiki%2F1.4";
 $rc = http_request($url);
 
 print $rc["data"];


**関連 [#l5eb2053]
-[[PukiWiki/1.4/ちょっと便利に/ユーザ認証付きproxyへの対応]]
-[[PukiWiki/関数一覧表/proxy.php]]
-[[BugTrack2/290]] - php HTTP 拡張モジュールのインストールをインストール(有効)にしているとダウンする


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.052 sec.

OSDN