Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

(事業者様向け)nginxで簡単にページのブロッキングを行おう!

ブロッキングをしたい事業者のために,nginxを使ったブロッキングの仕方をわかりやすく解説します!

まずブロッキング時に表示するページを作成しよう!これを/usr/share/nginx/html/といった,nginxのデフォルトページが置かれているディレクトリに保存してね!

<!DOCTYPE html>
<html lang="ja">
<head>
<title>Unavailable For Legal Reasons</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
<meta charset="utf-8"/>
</head>
<body>
  <h1>Unavailable For Legal Reasons</h1>
  <p>
    法的な理由により、このページへのアクセスはブロックされました。
  </p>
  <aside>
    <small>
      このサイトはジョークサイトです。Windymeltは電気通信事業者法4条を無視した違法なブロッキングを行うことに反対しています。
    </small>
    <hr />
    <quote>
      <h2>(秘密の保護)</h2>
      <dl>
        <dt>電気通信事業者法 第四条</dt>
        <dd>電気通信事業者の取扱中に係る通信の秘密は、侵してはならない。</dd>
        <dt>第四条の二</dt>
        <dd>電気通信事業に従事する者は、在職中電気通信事業者の取扱中に係る通信に関して知り得た他人の秘密を守らなければならない。その職を退いた後においても、同様とする。</dd>
      </dl>
    </quote>
  </aside>
  <address>
    2018/04/24 Windymelt
  </address>
</body>
</html>

次にnginxの設定をしよう!

server {
  ...
  error_page 451 /451.html # ここにブロッキング時に表示したいHTMLファイルの名前を入れよう!
  location /censor { # ここにブロッキングしたいURLを入れよう!
    return 451;
  }
  location = /451.html { # 上で指定したHTMLファイルの名前を入れよう!
    root /usr/share/nginx/html; # ここにブロッキング時に表示したいHTMLがあるディレクトリを指定しよう!
    internal;
  }
}

次にnginxを再起動しよう!

$ sudo systemctl restart nginx
# もしくは
$ sudo service nginx restart

これで君もブロッキングができるようになったぞ!

違法な(とあなたが考える)ページをどんどんブロックして,邪魔なものがないインターネットをみんなで作ろう!

→こういうのができるよ https://www.3qe.us/censor

華氏451度〔新訳版〕 (ハヤカワ文庫SF)

華氏451度〔新訳版〕 (ハヤカワ文庫SF)

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?