自宅サーバが応答しなくなったので、サーバ再起動して、ルータも再起動したのに治らない。単にDDNSが更新されていないだけだった。ieserver.netを使わせて頂いているので、IP更新ツールddns-updateを修正。
- wgetでhttpsアクセスをする際のserver certificateチェックをしないようにする
- wgetのオプションに –no-check-certificate を付ける
- 本当は –certificate=file でちゃんと指定すべきだね
- IP更新時のパターンマッチに失敗しているので、複数行を1行と見なしてパターンマッチするように変更
- if ($STATUS =~ m/$NEW_IP/) { を if ($STATUS =~ m/$NEW_IP/s) { に変更。
- 差分はこんな感じ。
-
— ddns-update.pl.old Wed Mar 24 16:30:30 2004
+++ ddns-update.pl Tue Aug 23 00:57:35 2005
@@ -46,9 +46,9 @@if ($NEW_IP ne “0.0.0.0” and $CURRENT_IP ne $NEW_IP) {
– $STATUS = `wget -q -O –
‘$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1’`;
–
– if ($STATUS =~ m/$NEW_IP/) {
+ $STATUS = `wget -q –no-check-certificate -O –
‘$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1’`;
+
+ if ($STATUS =~ m/$NEW_IP/s) {
open (FILE ,”>$CURRENT_IP_FILE”);
print FILE $NEW_IP;
close FILE;