vpsのwebサービスに無料でドメイン名アクセスできるようにする
無料のVPSサーバー「HOST1FREE」の申し込みとssh接続ここで無料のvpsに申し込んで使用できるようになりました。
固定のIPアドレスが割り当てられますが、ドメイン名でアクセスしたい。
せっかくvpsを無料で使うのだから、ドメイン名もなんとか無料で。
無料ダイナミックDNS(DDNS)サービス
そういえば、自宅サーバーを構築するとき、よくお世話になるサービス
無料ダイナミックDNS(DDNS)サービス
http://ieserver.net/
こちらをお借りすれば、無料でドメイン名での接続ができるようになるのでは?
ユーザー登録を行い、dip.jpのサブドメインをお借りします。
自動更新のPerlスクリプトを参考に、vpsのIPアドレスを登録します。
http://ieserver.net/ddns-update.txt
今回、IPアドレスは固定なので、一回IPアドレスの登録を実行すればOK。
wgetで登録用のURLを開いてやります。
書式は、
wget -q -O - 'http://ieserver.net/cgi-bin/dip.cgi?username=[サブドメイン]&domain=[ドメイン]&password=[パスワード]&updatehost=1'
例えば、「example.dip.jp」というサブドメインを「P@ssw0rd」というパスワードで
取得している場合はこうなります。
wget -q -O - 'http://ieserver.net/cgi-bin/dip.cgi?username=example&domain=dip.jp&password=P@ssw0rd&updatehost=1'
ssh接続したコンソールから一回実行してやれば登録完了です。
IPアドレスでのhttp接続拒否
apacheのログを見ると、phpMyAdminとかのURLをいやらしくクロールしてくる人がいるので、
あんまり効果はないかもしれませんが、IPアドレスによるapacheへの直接接続を
拒否するようにしてみます。
まず、VirtualHostを定義。
今回は、/etc/apache2/sites-available/defaultを直接編集しました。
No.17198 Apache2でグローバルIPでのアクセス拒否方法は?
こちらを参考にさせていただいてます。
ServerName anyのバーチャルホストを定義し、全て拒否。
取得した、例えば「example.dip.jp」の接続は許可するようにします。
### ここから
<VirtualHost *:80>
ServerName any
DocumentRoot /tmp
<Directory /tmp/>
order deny,allow
deny from all
</Directory>
</VirtualHost>
### ここまでを追加
<VirtualHost *:80>
# 一行追加
ServerName example.dip.jp
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
(略)
</VirtualHost>
apache起動時に
apache2: Could not reliably determine the server's fully qualified domain name,
という警告が出るので、
UbutnuでApache2を起動してみた
こちらを参考に、/etc/hostsにドメイン名を記載します。
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
192.0.43.10 example.dip.jp symfo
これでapacheを再起動すると、グローバルIPでの接続は403エラーになってくれました。
【参考URL】
無料ダイナミックDNS(DDNS)サービス
http://ieserver.net/
No.17198 Apache2でグローバルIPでのアクセス拒否方法は?
http://sakaguch.com/pastbbs/0034/B0017198.html
UbutnuでApache2を起動してみた
http://d.hatena.ne.jp/hykt/20081129/1227968494
コメント