約 8 分で読めます。
nextcloudにドメイン名でアクセスしたら「信頼できないドメインを介したアクセス」って表示された…
nextcloudに同じ家庭Wi-Fiからアクセスしたらルーターの設定画面が表示された…
これらを解決します。
前提として、apache側のドメイン名設定は実施済とします。
未設定の方はこちらを参照ください。
nextcloud側の設定
nextcloudの設定ファイルに信頼できるドメイン名のリストがあるので、追記しましょう。
yasu@raspberrypi:~ $ sudo nvim /var/www/html/nextcloud/config/config.php # 以下config.phpの一部 array ( 0 => '192.168.1.20', 1 => 'yasufumi-yokoyama.gq', # <- これを追記 ),
nextcloud側はこれで終了です。
PHPなので、apache再起動は必要ありません。
ドメイン名でアクセスするとルーターの画面が表示される場合の対応
私の環境でyasufumi-yokoyama.gqにアクセスすると、以下のように表示されてしまいました。
解決するためには、yasufumi-yokoyama.gqをローカルIPアドレスへの直接変換が必要です。
※グローバルIPアドレスはルーター自身のIPアドレスであるため、ルーター自身の設定画面を表示してしまいます。
そのために以下の対策を行います。
・DNSサーバーを立てる
・yasufumi-yokoyama.gqのみ↑で立てたDNSサーバーに問い合わせるようにする
DNSサーバーを立てる – dnsmasq –
せっかくRaspberry Pi 4があるので、そこにDNSサーバーを入れてしまいましょう!
使いやすいDNSサーバーとしてdnsmasqがありますので、これを使います。
# dnsmasqをインストール pi@raspberrypi:~ $ sudo apt install dnsmasq # dnsmasqはyasufumi-yokoyama.gqのみ名前解決し、それ以外は通常のDNSサーバーに委譲する pi@raspberrypi:~ $ sudo nvim /etc/hosts # 以下2行をhostsの末尾に追記する # wwwありとなし、両方のドメイン名に対応させる 192.168.1.20 yasufumi-yokoyama.gq 192.168.1.20 www.yasufumi-yokoyama.gq # dnsmasqを再起動 pi@raspberrypi:~ $ sudo systemctl restart dnsmasq
ルーター設定の変更
お次はルーター側の設定です。
通常ルーターがDNSサーバーになっているので、yasufumi-yokoyama.gqへの問合せはRaspberry Pi 4に問い合わせるように設定します。
私の自宅ではRS-500KIという機器を使っていて、ここに設定がありました。
トップページ → 詳細設定 → DNS設定
↑のエントリ1に
ドメイン名: yasufumi-yokoyama.gq
プライマリDNSサーバアドレス: Raspberry Pi 4のIPアドレス
を設定してやれば良さそうです。
このDNSサーバアドレスにはIPv6アドレスしか設定できないようですので、Raspberry Pi 4のIPv6アドレスを調べます。
pi@raspberrypi:~ $ ifconfig wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::6637:6bde:4579:381b prefixlen 64 scopeid 0x20<link> inet6 2408:211:b0:dd00:ffef:f44f:9e78:bad7 prefixlen 64 scopeid 0x0<global> ether dc:a6:32:bf:f5:d4 txqueuelen 1000 (Ethernet) RX packets 126 bytes 17554 (17.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 81 bytes 12776 (12.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
このなかの2408から始まる文字列がIPv6です。
先ほどのルーター設定画面に入力して設定します。
確認のためアクセスしてみました。
期待通りに動作していますね!
しかしここでhttp://www.yasufumi-yokoyama.gqにアクセスしたときhttpsにならずにhttpのまま画面が表示されてしまいました。
これを解決するためにapache2の設定を変更します。
pi@raspberrypi:~ $ sudo nvim /etc/apache2/sites-enabled/000-default.conf # 以下000-default.confの中身 <VirtualHost *:80> RewriteEngine on RewriteCond %{SERVER_NAME} =yasufumi-yokoyama.gq RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] # ↓この2行を追記 RewriteCond %{SERVER_NAME} =www.yasufumi-yokoyama.gq RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> # apache2再起動 pi@raspberrypi:~ $ sudo systemctl restart apache2
これでhttp://www.yasufumi-yokoyama.gqもhttpsに変換されるようになりました。
終わりに
いかがでしたか。
もしRaspberry Piをnextcloudサーバーにしようとしている方はこの記事が参考になります!
Comments