これまで、cloudflareのプロキシーは利用していたが、グローバルIpアドレスをルータのものをDNSに設定していたので、Ipアドレスが変更になった途端、外部からアクセスできなくなった。自分では、自動更新の設定なっていたつもりだったけど、よく調べたら、なってなかったようで、結局は、トンネルを作らないとだめだったよう。cloudflareとraspiの間で独自プロトコルでトンネルを作り、常時接続状態にする仕組みのよう。早速、AIに聞きながらraspiにツールをいれ、設定変更。これで、Ipアドレス変更を気にしなくてもよくなり、だいぶ管理は楽になる。
※この方式にしたところ、外部からのアクセスログが正しく記録されなくなってしまった。いろいろ、試行錯誤した結果わかったことは。ヘッダー名: Cloudflareの仕様により、元のIPは CF-Connecting-IP という名前で送られてくるので、それを使うようにする設定が必要らしい。
・sudo a2enmod remoteip
・トンネルでlocalhost:8080でbottleを指定したのがよくなかった。apacheのログを取りたい場合はapache経由のためlocalhost:80にする必要あった。
・ログ形式(apache2.conf)で
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %O" common
内部設定(000-default.conf)で
RemoteIPInternalProxy 127.0.0.1
変更が必要。
sudo systemctl restart apache2 で再起動。
