2013年11月13日、Visual Studio 2013 Launch EventにおいてVisual Studio Online (コードネーム : Monaco) が発表されました。MonacoはAzure Web Sitesを利用した開発をサポートしていますが、サイトのURLはWebサイトができた瞬間から完全に全世界Openなので、URLを直叩きすれば開発中でも関係なくサイトにアクセスできてしまいます。当然開発中の恥ずかしい状態は見られたくないものですし、いつGoogleのクローラーなどがサイト情報を収集に来るかも分かりません。突然Google検索に引っ掛かるようになったりしては新規サービスを作ろうとしている開発者からすれば情報のリークでしかなく、たまったものではありません。
ということで、Azure Web SitesにホストしたWebサイトにアクセス許可のIP制限を掛ける方法です。
設定の仕方
方法は至って簡単で、以下のようにWeb.configにアクセス許可をするIPアドレスを記載するだけです。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <security> <ipSecurity allowUnlisted="false" denyAction="NotFound"> <add allowed="true" ipAddress="123.45.67.89" subnetMask="255.255.255.255"/> </ipSecurity> </security> </system.webServer> </configuration>
「allowUnlisted="false"」ですべてのIPアドレスをブロックしつつ、ホワイトリストに載っているIPアドレスからのアクセスを特別に許可します。お使いの端末のグローバルIPアドレスは、以下のサイトなどで確認できますので、適宜変更してご利用ください。
またdenyAction属性で、アクセスできなかった場合のHTTPステータスを決定します。上記の場合はNotFoundに設定されているので、404が返ります。他にも分かっている範囲では以下の設定が可能です。
設定する文字列 | HTTPステータス | 意味 |
---|---|---|
Unauthorized | 401 | 認証が必要 |
Forbidden | 403 | アクセス拒否 |
NotFound | 404 | リソースが見つからない |
AbortRequest | 502 | 不正なゲートウェイ |
WordPressの管理画面にだけIP制限を適用
先の方法を応用すれば、WordPressの管理画面にだけIPアドレス制限をかけることも可能となります。この場合、WordPressのwp-adminフォルダ配下に先の設定を入れたweb.configを配置すればOKです。超簡単ですね!