自分のサイトにアクセスできなくなった対応の備忘録
「このサイトにアクセスできません」と表示されアクセスできなくなった。
原因調査で、ブラウザのキャッシュをクリアしたりSSL証明書を疑ったが、以前状況変わらず。
Safariでアクセスすると「この接続は安全ではありません」が表示される。
思い当たる節として、「Local』というWordpressをローカル環境でテストしたりするツールを触った後の
事象だったので、再度Chromeで表示されているエラーメッセージ「ERR_CONNECTION_REFUSED」で調査し、
結果的に、以下の原因と対応で復旧出来た。
●原因
以下のコマンドで原因が確定。(対象のサイトは、一律「Check-domain.com」にしています)
●コマンド:サイト証明書の確認
curl -Iv https://check-domain.com
* Host check-domain.com:443 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:443...
* connect to ::1 port 443 from ::1 port 49938 failed: Connection refused
* Trying 127.0.0.1:443...
* connect to 127.0.0.1 port 443 from 127.0.0.1 port 49939 failed: Connection refused
* Failed to connect to check-domain.com port 443 after 3 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to check-domain.com port 443 after 3 ms: Couldn't connect to server
これは、hostsファイルに以下の指定があり、対象のサイトがローカルホスト(127.0.0.1。::1も同様)、
つまり自分自身を見に行っているため本来のサーバーにアクセスしていない。
●hostsファイルの確認
sudo cat /etc/hosts
(抜粋)
127.0.0.1 check-domain.com #Local Site
::1 www.check-domain.com #Local Site
●対策
1)hostsファイルの編集
ローカル環境で開発する分には、この指定があってもおかしくないが、本来のサイトにアクセスできなくなっては困るので、この設定は削除(行ごと削除するか#でコメントアウト)
2)DNSキャッシュクリア
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
3)再度アクセスして解決。
ついでなので、今回調査した際に利用したコマンドも記載しておく。
openssl s_client -connect mothusi.net:443 -servername mothusi.net // サイト証明書の取得
echo | openssl s_client -connect check-domain.com:443 -servername check-domain.com 2>/dev/null | openssl x509 -noout -dates // 証明書の期限を確認
echo | openssl s_client -connect check-domain.com:443 -servername check-domain.com 2>/dev/null | openssl x509 -noout -subject -issuer // 証明書の発行者・対象ドメイン確認
ps aux | grep php // 不正なプロセス確認
netstat -anp | grep LISTEN // ネットワーク通信を確認