自宅サーバーを立てている環境で、QNAPのNASを外部からアクセスする。

 ものすごく久しぶりの更新です。これを機に今度こそブログを再開!したいと思います。

 今回は、最近導入したQNAPのNASについて、設定にちょっと苦労したので、自分用のメモです。 

 自宅サーバーを立てている環境では、通常一つのグローバルIPには、一つのドメインしか割り振れません。QNAPのNASは、独自のドメインmyqnapcloud.comのドメインで作成できる上に、Letsencryptを使えば無料でSSLも導入することができるのだが、当然ながらそのままの状態では、外部からアクセスすることはできませんでした。せっかく本格的な自分専用クラウドが立てられるのに、もったいない! ということで、色々試行錯誤してみました。

 当方の現在の環境は次のとおりです。
・server version: Apache/2.4.25 (Raspbian)
・QNAP TS-451+ × 1台 
・QNAP TS-231P × 1台

 今回とても参考になったサイトは次のサイトです。(有益な情報をありがとうございます。m(_ _)m)

https://obel.hatenablog.jp/entry/20151118/1447812483
https://nrbm-akatsuki.com/147/

 上記のサイトを参考に、apacheのsites-availableの中にある、既存の自宅サーバー用に編集したssl設定ファイル(default-ssl.conf)をコピーして、virtual-host.confとリネームし、次のとおり記載したところ、アクセスできるようになりました。

<IfModule mod_ssl.c>

   (以下追記)
<VirtualHost _default_:443>
ServerName ○○○.myqnapcloud.com
KeepAlive Off
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass / https://○○○.myqnapcloud.com/
ProxyPassReverse / https://○○○.myqnapcloud.com/
   (追記終わり)
ServerAdmin webmaster@localhost

最後に、a2enmod virtual-host.confを実行。

 どうやら鍵となっている設定は、3行目の「KeepAlive Off」の設定のようで、この設定がないと、500エラーが出てうまく接続できませんでした。グローバルIPが1つしか無い環境では、一旦自宅サーバーのドメインでの接続を切断して、NASのドメインに切り替える必要があるということだろうか? QNAPの仕様によるものなのか、そのあたりは不明ですが、ひとまず、いまのところ動いています。

 なお、今回は、既存の自宅サーバーの設定ファイルをそのまま流用していますので、NASのドメインにアクセスしている間、自宅サーバーのドメイン用の証明書が適用されてしまい、ブラウザに証明書不一致の警告がでてしまいます。NAS内のどこかに保存されているはずの証明書にリンクを張れると解決しそうなのですが、NAS内を捜索するも発見に至らず。だれかご存知の方がいらっしゃいましたら、教えてください。m(_ _)m