xsendfile 動作確認

環境

debian 7

手順

xsendfile モジュールをインストールする

$ apt-get install libapache2-mod-xsendfile

web サーバからアクセスできないところのファイルとして /tmp/xsendfiles というディレクトリを作ってみる

$ mkdir -p /tmp/sendfiles
$ touch /tmp/sendfiles/aaa.txt
$ echo 'aaa' > /tmp/sendfiles/aaa.txt

apache の設定で on にしてディレクトリを指定

<IfModule mod_xsendfile.c>  
    XsendFile on
    XsendFilePath /tmp/xsendfiles  
</IfModule>

HTTP ヘッダに X-Sendfile を指定するようなコードを設置.

xsendfile.php

<?php

header('X-Sendfile: /tmp/xsendfiles/aaa.txt');

xsendfile.php にアクセスしてみる

$ curl http://example.com/xsendfile.php
aaa