
Naibaは阿里雲香港のサーバーを1台持っています。今日、メールで18ドルの前払いがあると通知が来たので、管理画面にログインして確認したところ、トラフィックパッケージが使い切られており、現在はトラフィック従量課金になっていました。推測するに、ホットリンク防止を設定していなかったため、画像トラフィックが多く消費されたのでしょう。
そこで、nginxにホットリンク防止ルールを設定する必要があります。
Nginxでホットリンク防止を設定する方法
仮想ホストのNginx設定ファイルに対応するコードを挿入するだけで、完全なコードは以下の通りです。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
valid_referers none blocke *.域名.com *.baidu.com *.google.com;
if ($invalid_referer) {
rewrite ^/ https://另外一个网站/2019/07/18/ZjgUET.gif;
}
}コードの説明
上記のコードは、LNMPの仮想マシン設定ファイルに直接追加したものです。あなたもLNMPユーザーであれば、見ることができるはずです。
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}上記の内容に、このルールを追加すればOKです。
valid_referers none blockeの後の値は、画像へのアクセスを許可し、ブロックしないドメインです。
rewrite ^\/ の後は、他サイトがホットリンク防止で表示する画像です。この画像は自分のサーバーに直接置かないでください。そうしないと、ホットリンク防止でブロックされ、表示できなくなります。
さらに他のホットリンク防止コンテンツを追加したい場合は、gif|jpg|jpeg|png|bmp|swfに直接追加してください。
宝塔パネルでのホットリンク防止
宝塔パネルでの盗用防止(ホットリンク防止)には2つの方法があります,一つの方法前述のnginx盗用防止と同じように、宝塔パネルの管理画面で、サイト、サイト設定の編集、設定ファイル内にnginx盗用防止のコードを自分で追加する方法です。
もう一つの方法サイト編集時に下の方にある盗用防止(ホットリンク防止)を直接見つけて、有効にするだけです。
Nginxサービスを再起動する
設定が完了したら、nginxサービスを再起動してホットリンク防止ルールを読み込ませる必要があります。
LNMPの場合は、/etc/init.d/nginx restart または lnmp restart で再起動できます。
宝塔パネルの場合、ソフトウェアストアの実行環境でnginxを見つけてクリックし、サービスの再起動をクリックします。
参考資料:
http://nginx.org/en/docs/http/ngx_http_referer_module.html
http://www.ttlsa.com/nginx/nginx-referer/
画像に透かしを入れてホットリンクを防止する
もちろん、ホットリンク防止を設定せずに、画像に透かしを入れて、他のサイトがコピーしたときにあなたのサイトの広告になるようにする方法もあります。後でトラフィックが足りなくなったり、収穫の時期だと思ったら、ホットリンク防止を有効にし、ホットリンク防止画像をあなたのサイト情報の画像に設定することで、他のサイトが無料であなたのサイトを宣伝してくれるようにできます。
WordPressの画像に透かしを追加したい場合は、以下の方法で自動操作できます。
