使用機材:Synology DS-216J (DSM 7.1-42661 Update 3)
「
Synology DS-216JでLet's Encryptからサーバ証明書(Free)を得る」で「xxxx.yy.netvolante.jp(IPv4)」HTTPサーバーを稼働。DDNSは、NVR510からネットボランチDDNSを使用。
「
Synology DS-216JのWebStationを「ぷらら」IPv6 IPoEでアクセス」で「xxxx.mydns.jp(IPv6)」HTTPサーバーを稼働し、「
Synology DS-216JのDDNSでIPv6 AAAAレコードを登録する」でxxxx.mydns.jpドメイン名をDDNS登録している。
IPv4でのhttp/https接続は、ぷららのIPv4 PPPoE接続で受け、firewallでnginx@DS-216Jのhttp/1080ポートとhttps/1443ポートへNATしている。
IPv6でのhttp/https接続は、ぷらら/Transix接続で受け、firewall(PR-600MIとNVR510)を介してnginx@DS-216Jのhttp/80ポートとhttps/443ポートへ接続させている。
DDNSでは、「xxxx.mydns.jp」に「A」と「AAAA」レコードを登録し、IPv4とIPv6で接続出来るよう設定している。IPv4アドレスで接続するとぷららのIPv4 PPPoE経由で接続し、仮想サーバー「xxxx.mydns.jp:1080/1443」が「Web services is only for IPv6 users」を表示するようにしている。
「xxxx.mydns.jp」のLet's Encryptサーバー証明証は、「CN=xxxx.mydns.jp」で自動的に設定された「SAN=xxxx.mydns.jp」と共に発行されている。
(1)xxxx.mydns.jpに別名接続出来るようDDNSに別名を登録
「xxxx.mydns.jp」サーバーに「www.xxxx.mydns.jp」でIPv6/IPv4接続出来るようにし、「www.v4.xxxx.mydns.jp」でIPv4接続するよう構成した。「www.v4.xxxx.mydns.jp」を構成した理由は、「www.xxxx.mydns.jp」「xxxx.mydns.jp」へのIPv4接続をブラウザから確認するのが困難なため、「www.v4.xxxx.mydns.jp」でこのサーバーにIPv4接続させるよう構成した。
「www.xxxx.mydns.jp(IPv6/IPv4)」と「www.v4.xxxx.mydns.jp(IPv4)」ドメインは、OpenWrtのDDNSで登録した
nginx設定は、server_nameに別名を追加した。httpsは、証明書確認を無視して接続だけを確認。
(2)Let'sEncrypt証明証にSANを追加する
発行済みのLet's Encrypt証明書にSANを追記出来ないので、新たにFQDNを追加したSANで新規発行する必要がある。有効期限の更新と同様の方法で発行済証明書の廃棄手続きは不要。発行済証明書は、有効期限が過ぎると無効になる。
DS-216Jのコントロールパネルで「セキュリティ」「証明書」を選び、「追加」を実行する
「既存の認証を置き換える」を選択し、置き換えるサーバー「xxxx.mydns.jp」を選択する
「Let's Encryptから証明書をお受け取りください」を選ぶ
「ドメイン名:xxxx.mydns.jp」「電子メール」「サブジェクトの別名」(SAN)を設定する
「サブジェクトの別名」が指定されていないとドメイン名がCNに設定され、SANにも設定される。
「サブジェクトの別名」には、CN対象ドメイン名と追記のSANを「;」で区切って設定した
「www.v4.xxxx.mydns.jp」は、http/80に「.well-known/acme-challenge」が存在しないこ事か、ssl/443が応答しない事が原因で証明書発行が失敗した。この「www.v4.xxxx.mydns.jp」にはサーバ証明書が不要。サーバー実態が無いと証明書発行しないという事のようだ。
「www.v4.xxxx.mydns.jp」を除いて追加処理
追加された
「/usr/syno/etc/certificate/_archive」の既存サーバー用ディレクトリ内に上書きされるため、SAN追記前のサーバー証明書ファイルは破棄される。確保すには、置き換え指定をしないかコピー保存しておく必要がある。
(3)サーバー確認
証明証の「更新」や「追加」後、自動でnginxの証明書入替が行われない。
再起動かnginxのreloadが必要。
sshでログインして「nginx -s reload」でサーバー証明書の入替を行う。
「http://xxxx.mydns.jp/」はリダイレクトされ「https://xxxx.mydns.jp」へIPv6接続
使用されたサーバー証明書(SANにxxxx.mydns.jpとwww.xxxx.mydns.jp)
「http://www.xxxx.mydns.jp/」はリダイレクトされ「https://www.xxxx.mydns.jp」へIPv6接続
IPv4接続にするためブラウザのIPv6接続を禁止設定する
「https://xxxx.mydns.jp/」と「http://xxxx.mydns.jp」へIPv4接続
「https://www.xxxx.mydns.jp/」と「http://www.xxxx.mydns.jp」へIPv4接続
「http://www.v4.xxxx.mydns.jp」へIPv4接続