自宅サーバーが外部からForbiddenになる問題

403 Forbidden Error with UPnP

我が家の自宅サーバー内で、nginx-proxyのDockerコンテナを複数運用していて、独自ドメインにて外部からのアクセスも可能にしています。
もちろん、WANとの光ルーターでは、80番と443番ポートを開放しており、外部からの疎通も確認できています。

このような環境で、不定期に外部からアクセスができない症状が発生しました

不具合症状 

外部から不具合が出る場合は、下記のような403 Fobiddenでアクセスが出来なくなります

XDA Developers forum "403 Forbidden"

自宅のローカル内では、問題なく接続が可能です

原因調査 

自宅内のLANでは問題なく接続できて、外部から接続出来ないとなると、WANルーターを疑うのが妥当だと思います
ちなみに、我が家のルーターはPR-400KIを使用しています

問題解決にあたり、ルーターを再起動してみると、外部からアクセス出来る事が確認できたため、ポート開放設定に問題があるわけではなさそうです
問題が発生した際に、毎回ルーターを再起動するのも得策ではありませんし、自宅外では作業ができません

更に、ルーター内の機能を調べていくと、ルーターの再起動を行わなくても、UPnP NAT情報消去の機能により改善することが判明しました

解決策 

原因調査の結果、UPnP NAT情報が原因で接続出来ないようですので、ルーター内の設定(詳細設定>高度な設定>UPnP設定)でUPnPを使用しないへ設定したところ、これ以降、Forbiddenで外部から接続出来ない問題は発生しなくなりました。

私の環境のように自宅内にサーバーを構築して、外部とのやりとりを行うのでなければ、UPnPはゲームやAppleTV,IoTのホームデバイスで簡単に接続を利用できる機能なので、通常は使用した方が良いかと思います。

UPnPについては、下記の記事を参考にさせていただきました


See also