Let’s Encrypt でSSLワイルドカード証明書を導入する

Archlinuxが動いているRaspberryPi君にワイルドカード証明書を導入する。
特段、難しいことはなく、Qiita等々で書かれていたことをトレースしただけだった

前提

入ってるもの
MyDNS
・RaspberryPi鯖

# cat /etc/os-release 
NAME="Arch Linux ARM"
PRETTY_NAME="Arch Linux ARM"
(中略)
# certbot --version
certbot 1.12.0
# date +%Y%m%d_%H%M
20210221_0503

今あらためて気づいたんだけど、Archlinuxってarch-releaseって何も書いてないんだね
CentOSで作業するときのversion番号確認作業がたまにあるんだが、そのときはredhat-releaseを参照してversion番号確認をしている。
少なくともCentOS8はredhat-releaseは/etc/centos-releaseのシンボリックリンクで、今どきな人の中でCentOS使ったことない人も考えると、redhat-releaseを参照するという手順は難しいんじゃないかな?と思ったり
話がすぐ逸れる

ワイルドカード証明書を発行する

Let’s Encryptでもワイルドカード証明書は対応している
が、v2 APIのURLを指定する必要がある。

certbot certonly --manual \
    --preferred-challenges dns \
    --server https://acme-v02.api.letsencrypt.org/directory \
    -m hoge@unko.com \
    -d *.meto4d.pgw.jp

実行すると、以下のような表示が出る

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Requesting a certificate for *.meto4d.pgw.jp
Performing the following challenges:
dns-01 challenge for meto4d.pgw.jp

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.meto4d.pgw.jp with the following value:

xxxxxxx(ランダムな文字列)

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

Enter入力待になるが、DNSレコードが必要なので(MyDNS用に)ブラウザで作業
途中のxxxxxxx(ランダムな文字列) はメモってMyDNSへ

MyDNSにTXTレコードで_acme-challenge.meto4d.pgw.jpを登録する
_acme-challenge.meto4d.pgw.jp   TXT   xxxxxxx
MyDNSは反映が早いとはいえ、1分ぐらい待ったほうが懸命だろう。
反映したかdigコマンドで確認する

% dig @ns0.mydns.jp _acme-challenge.meto4d.pgw.jp -t TXT

; <<>> DiG 9.16.10 <<>> @ns0.mydns.jp _acme-challenge.meto4d.pgw.jp -t TXT
(中略)
;; ANSWER SECTION:
_acme-challenge.meto4d.pgw.jp. 300 IN   TXT     "xxxxxxx"

→一応Googleでも確認
% dig @8.8.8.8 _acme-challenge.meto4d.pgw.jp -t TXT

; <<>> DiG 9.16.10 <<>> @8.8.8.8 _acme-challenge.meto4d.pgw.jp -t TXT
(中略)
;; ANSWER SECTION:
_acme-challenge.meto4d.pgw.jp. 299 IN   TXT     "xxxxxxx"

反映されていたので、certbotに戻ってEnter

....(上のcertbot作業の続き)
Press Enter to Continue [[Enter]]
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/meto4d.pgw.jp-0001/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/meto4d.pgw.jp-0001/privkey.pem
   Your certificate will expire on 2021-05-21. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

認証が出来ていた

ちょっと待て

  Your key file has been saved at:
   /etc/letsencrypt/live/meto4d.pgw.jp-0001/privkey.pem

meto4d.pgw.jpの証明書はある
*.meto4d.pgw.jpのワイルドカード証明書がmeto4d.pgw.jp-0001に?
気持ち悪いのでmeto4d.pgw.jp-wildにでも移動してもらう

lets encrypt配下のarchive, live内の meto4d.pgw.jp-0001 を移動し、renewal/のconf内を変更していく

(なんか少し怖かったので、sudo su - したshell以外でやった)
% cd /etc/letsencrypt

→証明書の中身を移動
% cd archive
% sudo mv -r  meto4d.pgw.jp-0001 meto4d.pgw.jp-wild
% cp ../live
% sudo mv -r  meto4d.pgw.jp-0001 meto4d.pgw.jp-wild
% cd meto4d.pgw.jp-wild
% ls -l
(抜粋)
lrwxrwxrwx 1 root root  42  2月 21 05:59 cert.pem -> ../../archive/meto4d.pgw.jp-0001/cert1.pem
→シンボリックリンクが前のままなので、変更
% /bin/ls -1 *.pem | xargs -i sh -c "readlink {} | sed 's/0001/wild/g' | xargs -I [] sudo ln -nfs [] {}"
→実はlnのtargetとlink先の順番を間違えて一回消しちゃったw
上書きしてしまったarchiveのmeto4d.pgw.jp-wildをディレクトリ毎消して、certbot certonly --manualを再実行
dns等々はしてあるので、TXTの書き換えもなく即終了
% ls -l
(抜粋)
lrwxrwxrwx 1 root root  42  2月 21 06:42 cert.pem -> ../../archive/meto4d.pgw.jp-wild/cert1.pem

→設定を変更
% cd renewal
% cat meto4d.pgw.jp-0001.conf
# renew_before_expiry = 30 days
version = 1.12.0
archive_dir = /etc/letsencrypt/archive/meto4d.pgw.jp-0001
cert = /etc/letsencrypt/live/meto4d.pgw.jp-0001/cert.pem
privkey = /etc/letsencrypt/live/meto4d.pgw.jp-0001/privkey.pem
chain = /etc/letsencrypt/live/meto4d.pgw.jp-0001/chain.pem
fullchain = /etc/letsencrypt/live/meto4d.pgw.jp-0001/fullchain.pem
(中略)

% sudo sed -i 's/meto4d.pgw.jp-0001/meto4d.pgw.jp-wild/g' meto4d.pgw.jp-0001.conf
% sudo mv meto4d.pgw.jp-0001.conf meto4d.pgw.jp-wild.conf

→これでいいはず……
(certbotを動かしていたterminalに戻って)
# certbot renew
(抜粋)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/meto4d.pgw.jp-wild.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

→特にエラーはないので、これで大丈夫…かな?

Nginxでワイルドカードを使ってみる

nginx/server.confにまとめているので、そこで

ローカル用のデバッグポートに追記
server {
  listen 10080;
  include conf.d/default_ssl.conf;
  ssl_certificate /etc/letsencrypt/live/meto4d.pgw.jp-wild/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/meto4d.pgw.jp-wild/privkey.pem; # managed by Certbot
  include conf.d/default_proxy.conf;
  include conf.d/php_fcgi_location.conf;
  location / {
    index index.test.php;
  }
}
% sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
% sudo systemctl reload nginx 

構文チェックしろとよく言われるようになったので、最近ちゃんとnginx -tをしてからreloadするようになった
今までの、まあ大丈夫だろうでrestartして鯖を止めてた時代からは進歩した
確認は無意識でできるようになったが、確認した後、面倒くさって言ってる気がする

ブラウザでアクセスしてみる

まじかよ!

*.meto4d.pgw.jpは meto4d.pgw.jpに使えないってそんなことあるのか

再発行する

% sudo certbot certonly --manual \
    --preferred-challenges dns \
    --server https://acme-v02.api.letsencrypt.org/directory \
    -m hoge@unko.com \
    -d *.meto4d.pgw.jp \
    -d meto4d.pgw.jp
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
You have an existing certificate that contains a portion of the domains you
requested (ref: /etc/letsencrypt/renewal/meto4d.pgw.jp.conf)

It contains these names: meto4d.pgw.jp

You requested these names for the new certificate: *.meto4d.pgw.jp,
meto4d.pgw.jp.

Do you want to expand and replace this existing certificate with the new
certificate?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(E)xpand/(C)ancel: e
Renewing an existing certificate for *.meto4d.pgw.jp and meto4d.pgw.jp
An unexpected error occurred:
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Read timed out. (read timeout=45)
Please see the logfiles in /var/log/letsencrypt for more details.

どうもv2 APIではexpand出来ないみたいだ
だからといってタイムアウトはどうなんだとは思ったが
既存設定を削除する必要がある

既存設定を削除

# certbot delete
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which certificate(s) would you like to delete?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3: meto4d.pgw.jp-wild
4: meto4d.pgw.jp

適当に抜粋
今しがた作ったmeto4d.pgw.jp-wildとmeto4d.pgw.jpを削除

再発行(2度目)

→最後の -d meto4d.pgw.jp を追加
% sudo certbot certonly --manual \
    --preferred-challenges dns \
    --server https://acme-v02.api.letsencrypt.org/directory \
    -m hoge@unko.com \
    -d *.meto4d.pgw.jp \
    -d meto4d.pgw.jp
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Requesting a certificate for *.meto4d.pgw.jp and meto4d.pgw.jp

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/meto4d.pgw.jp/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/meto4d.pgw.jp/privkey.pem
   Your certificate will expire on 2021-05-21. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

すんなりと行った

Nginxの設定再変更

さっき変更したばっかりのmeto4d.pgw.jp-wild部分を元に?戻す

ssl_certificate /etc/letsencrypt/live/meto4d.pgw.jp/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/meto4d.pgw.jp/privkey.pem; # managed by Certbot

reloadの類いをするした

ブラウザでアクセス

雑スクショだが、ちゃんとワイルドカードで証明書を出せている
いいね!

後は晒せないNginxの設定をワイルドカードに対応させていく

nginxの仕様上、ifで証明書を分けているとそのたびにsslを紐解くらしく、結構遅くなるらしい
どれぐらい遅くなるかは試していないが、以下のようにしていた

server {
  listen 443 ssl;
  server_name "" _;
  include conf.d/localssl.conf;
  include conf.d/ip_location.conf;
}
server {
  listen 443 ssl;
  server_name meto4d.pgw.jp;
  ssl_certificate /meto4d.pgw.jp/....
  ssl_certificate_key /meto4d.pgw.jp/....
  include conf.d/default_location.conf;
}
server {
  listen 443;
  server_name auto.meto4d.pgw.jp;
  ssl_certificate /auto.meto4d.pgw.jp/....
  ssl_certificate_key /auto.meto4d.pgw.jp/....
  include conf.d/default_location.conf;
}
(適当に端折)

公開鯖の都合上、IP直打ちで来る人も多い
(例えばterraria鯖をIPで晒していると、結構IPをブラウザに突っ込んで来る人がいるんだ)
そういう人にこの鯖に簡単にはたどり着けないようにしたいため、設定を変えている
localssl.confは自己署名証明書を読み込むやつ

server_name meto4d.pgw.jp; と server_name auto.meto4d.pgw.jp; で冗長な構成になっていた
ここを整理
v6とv4、dsは残しておく

まとめ

導入は簡単だったが、結局replace作業になったのでちょっと面倒だった
ワイルドカードにとうとうやったので、将来VPSとかk8sで管理するときに楽になったね


ref: let’s EncryptのワイルドカードSSL証明書を取得する。 – nhmasaazu
ref: ACME v2 Production Environment & Wildcards – API Announcements – Let’s Encrypt Community Support

最近の近況

2019?18?年ぐらいからの近況
時系列で簡単に言うと、

  • Macを買った
  • 研究に一区切りつけた
  • 働くようになった
  • SynologyのHDDを増強した
  • 金銭的余裕ができた
  • 本も漫画をたくさん買えるようになった!
  • 好きな勉強もできるようになった
  • ブログの構成を変更し、公開させれるようになった

要はこんな感じでした。

Mac

MacBookPro2019モデルを買った。
実家が嫌いすぎて帰らなかったが、ひょんなことで、一瞬帰省することに。
育ての父の遺産の話になり、持ってると使ってしまうからと、金額や即受け取りは拒否。
ただ、まずは現環境を整えたいからと、50万程度を受け取り、MacBookPro2019とAppleWatch、iPadを購入しました

すごいねこれ
Acerの安ノートPCとリモート環境整備でごまかしていたが、いい加減ちゃんとしたノートPCがほしいという気持ちと、
Mac環境はクリエイティブに関してとてもいいということや、実際にプログラミング配信等で見かけるMacの使い様も大変良さそうだという気持ち、
なによりMacBookは前々から欲しく、もうこれはMacBookPro買うしかないな!ということで一念発起し、購入。
使えば使うほど、慣れてくる使用感、しっかり思ったことをすぐできるのがいい。
コアがcore i5のクロックが1.5GHz(だったかな?)なので、スペック不足は時たま感じるが、十分十分
コピペが片手キーボードで操作しにくい、 US配列に慣れてしまったのに日本語キー配列、などタイピングの問題はあるが、こんなにもいいノートPCがあるのかとべた惚れしてしまった。
購入して1ヶ月は布団の中からもできると、MBPを枕に置いて、MBPと一緒に寝ていたほどだ。

iPadもいい、これもべた惚れしてしまった。
今までNexus7を使い、Dropbox等経由でエロマンガを読みながらオナニー生活
Dropboxを更新してからどうも画像表示が重い、次のページがひらけない、気づいたら落ちてしまう。ということで、KindleFireHDに以降。これもやはりスペック不足ということで、新タブレット
MBPを買うときに、それならiPadにしよう。ペンもあればノート役割も十分だ!ということで、ApplePencilも同時購入
配信視聴やポルノ視聴、リモート操作だけでなく、プログラミングも、ワードなどの資料作成も、お絵かきも、超雑なメモ書きも、なんでもできる。
iPadあればノートPCいらないんじゃないかってほどだった。
親のPCが中古Win8をWin10にしたような、使えはするが、PCの使えない人にはいろいろ考えないといけないような仕様。これも2020年末祖母の慶弔休暇で帰省した際にそれならiPad使いなよってことでiPadAirをその場で購入しプレゼント。
iPhoneが使えるから十分使えているそうで、大満足。
iOS端末は情弱と情強の二分化された端末という話を聞いたことがあるが、まさにその通りだと思った。

AppleWatch5を購入
これはApplePencilと同じように、ここまでApple製品に固まっており、もらった50万までこれを買えばちょうど!どうせならこれも買おう!ってことで購入。
普段の心拍数が100付近をうろついているためか、常に運動状態と言われていることが心配だが、これもすごく便利
通知が音だけでなく、バイブで気付けるようになること。
AppleWatchだけで簡単なメッセージのやり取りはできてしまうこと。
iPhoneで聞いている音楽を音量から次曲送り等、操作できること。
Suicaが使えること。
AppleWatchのロックを解除していれば、MBPのロックなども近づければ解除できること。
特にSiriを気兼ねなく使えることは、持たないと便利さがわからないという点だと思う。
出勤時の着替えている時、服を来ながらSiriに夕方の天気を聞いたり、料理中にタイマーを図ってもらうなど、大活躍をしている。
お笑い話のようだが、AppleWatchというだけで、金銭的な自身がつく。新宿高島屋へ間違えて迷い込んだ時、ルイビィトンやなんだかわからない高級なものを取り揃え、行き交う通行人もなんだか高級な匂いを放っているなか、全身ユニクロマンの俺は、普段ならキョロ充しまくっていたが、AppleWatchのおかげで自身のついた歩みができ、迷うこともなく抜け出せた。思い返せば笑ってしまう話だが、自己肯定感がここまで上がるのはすごくいい気分だ。
さらに、現在の会社の社長も同じAppleWatchをつけているようだ。これは更に自己肯定感に拍車をかけてくれることだろう。

研究

研究に関しては一区切り「つけた」という状態。
大学に所属した研究である限り、基本的には時間との戦いが研究の一番のキモ
この時間制限が守れなく、所謂留年状態で、タイムアップで一区切りつけました。
奨学金頼りの貧乏苦学生。
まず働こうということで、2020年からとうとう働き始めました。

就職

就活自体は今の状況が決まる前から行っていたが、3社程度しか受けず決まらず、ここで働きたいという気持ちもなく、ただただ就活鬱(?)でした。
研究も行き詰まり、自分のやりたいこと、自分の興味のあることが一切なくなってしまうという状況でフラフラしまくっていた。

1社、めちゃくちゃ尊敬していたプログラマの人が長をやっている会社。
求人はしているが会社を立ち上げて期間も短く、所謂新卒枠がない。面接一発で最終だった。入社はOKだが自分みたいな人の扱いが大変難しいとのことで断られた。また何かあれば来てくれと言われたときはすごく嬉しく、心自体は折れなかった。また、この時いろんな疑問や相談にも乗っていただけたので、もし機会があればただただ一プログラマとして恩返しをしたいと強く思えた。
この経験だけは宝物だ
結局、研究ができていない→今は他プログラムも遊ぶこともできない→研究のモチベがない→フラフラグデグデ…
という悪循環ではあったが、その気持で、それでもPCの前に座ることは続けられた。

研究の見通しがつかなくなり、タイムアップが確定。
就職支援でいくつか紹介してもらい、内定もいただけたが、まずは今ある求人という中に気になる会社が。
そこは中学-高校時代大変お世話になった会社で、その時の話が大受け。その会社に決まった。
環境もよく、どんどん現会社全体のことが大好きになってしまった。大学にいるときはあんなにも働きたくない、好きなことをしていたいと言っていたが、好きなことして働いている。
なによりも、研究のときに感じていたつっかかりが、会社では上の人がいることで、すっきりと見通しをつけてなんでもできる。
一番感じたのは相談に乗ってくれる人、何より 教えてくれる人、 この存在はめちゃくちゃ大きいと感じた。
こんな簡単な文章を書きながらも、今の関係が良く、嬉しくて泣きそうになるほどだ。
今まで通り、責任なく好きなことをしているわけではなくなったが、一番下っ端なので責任感のようなものは上司に押し付け!という気持ちで勉強が進めれる。そして、好きなことだけ出来ている。楽しい。
メリハリをつけれず、ダラダラなあなあになってしまう悪い癖をなんとかしたいと思いつつ、今のコロナ禍での在宅勤務。自分のことが不甲斐ないと感じるが、健常者になるため頑張ろうというモチベーションは十分にある。

Synology

3TBから6TBへ増強した。
HDD増強自体は、Win7の旧鯖マシンのHDDが吹っ飛んだ際に取り替えたわけだが、ちゃんと整理をつけたのはつい最近。

Synologyは基本独自フォーマット(よく調べていないがSynologyでサポートしているRAID用のフォーマットなんじゃないか?とは思っているが…)なので、クローンして単純移行とは行かなった。
3TBの移行に別3TBへコピーしてから、6TBで構築してからバックアップを復元という作業が必要だった。
これだけで実時間1週間はかかったんじゃないか?

Toshiba製の6TBHDD (MD04ACA600) だが、レビュー等にある通り、負荷時になんだかカリカリ音が聞こえてくる。
昔はそれが日常だったが、今どきカリカリ音を聞かなくなったので、これはこれで不安になる。信じてるぞ東芝
Toshiba製を信じて使い潰したいが、まずはデータ整理が必要だ。
2週間かけて100GBを開けるみたいなことをしているが、、これは気が長くなる。

金銭感覚

就職したことで、今までの金銭感覚が変わりました。
小学校の頃から感じているが、
「自分が(気兼ねなく?)使える桁。この桁は、なにか自分の位が上がることで、桁が一つ増える。」という認識
小学校は10円単位、中学は100円単位、高校は1,000円単位、大学は10,000円単位、就職後100,000円…という感じ
これは結局、就職後の1桁増えたというそれをまたしても実感してしまった。

コロナ禍でのちょっとした臨時収入などもあったが、働き始めて8ヶ月、もう貯金は100万に到達してしまった。
今までできなかった親へのプレゼントということで、iPadAirやiPhoneSE2、アクセサリー系もプレゼントし、20万一気に使ったが、いい気分だった。

本も漫画も何も考えず、自由に買える。これは本当に嬉しい。
本を買う時、所謂斑目方式(げんしけん)。
買ってからお財布事情を考えるという癖がある。それほどまでに購入欲というか、コレクション欲が強い。
今までは、どうにかして諦めることを考えて、このコレクション欲から逃げていた。
今では、コレクション欲に真っ向勝負。ただ身を任せ浪費するのも良くないからと、勝負を挑むが、何が必要か、何がコレクション欲を刺激しているのかをしっかり考えられる。
負担等ではなく、ただただ楽しい。
30年ぐらい生きて、一般的にお金がある人、特にコンプレックスの一つでもあったゲーセンでお金を入れられる人、ガチャを楽しむことができる人、こうした気持ちがやっと理解できるようになった。
楽しい。
もっと働きたい。
もっとお金がほしい。
手段と目的が入れ替わりそうだ。楽しもう。

漫画

気づいたら今月買った本の数が30を超えていることもあるぐらいだった。
ブログを公開できるようになったことと、自分の気持ち、感想を文章化できるようになりたいという気持ちで、できれば、感想を書いていきたいなとは思う。
ただ、まずは持ってる本のリスト整理だ
数が多すぎる。
今の家から引っ越す時、すごくすごく心配だ。
ただ、読んだら終わりではなく、結局根本にあるのはコレクション欲。
二度と手放せないだろう。
いつかの記事でまた改めて書いていきたいね

好きな勉強

0から1を考えることも、1から5を考えることも、5から10まで作ることも好きだが、特に5-7のあたりに位置しているであろう、既存システムの組み合わせ
組み合わせることでのシナジーを感じるのが好きだ。
今の仕事内容にかぶるが、最短ないし汎用的な道具を集め、シナジーを活かす。
その勉強は0-5までの研究とは大きく異る。
楽しい。これは大好きだ
1-5の、まずは作って検証という部分でもない
ただただシナジーを生み出す。これが好きなんだなと感じれた。

本ブログ

上のHDDを換装とも関係するが、データをあれこれ移行させ、環境を一気に変更させた。

今まで、ほぼローカルでしか使えなかったsynologyのWP*、ローカルで書いて、ローカルのみで公開。
これもこれでいいものだったが、三日坊主で止まってしまった
ただの資料置き場。
HDD換装時に別にいらんだろうwってことで削除
削除したときは、論文などにつけていたひとことメモは全部覚えていたが、人間は忘れる動物
どうして消してしまったんだ。

まず大きな起点はhttps対応。
Lets Encryptで無料SSL証明書は本当にありがたい。
特に管理面ではなく金銭的な部分で自宅鯖運用をしている手前、色々試行錯誤して導入できた。
導入時はワイルドカード証明書はBetaで導入できず。
次の記事ぐらいで、どうやってワイルドカード証明書導入したか書きたいな

話がそれてしまった、
基本的に外部に公開しているのは、RasPiとWin鯖にしたいと考えていて、
Win鯖はもう鏡とペカ、メールとかJaneとか、リモート操作用という立ち位置なので、家内インフラとは別という考え
今管理しているドメインは主に以下の3つ

  • meto4d.pgw.jp
    • メインのドメイン
    • メインとは言いつつ、とりあえずここという気持ち
    • v4のみ
  • auto.meto4d.pgw.jp
    • IPv6対応のドメイン(AとAAAAを出すドメインという言い方が正しい?)
    • どちらかのみ対応のv4.meto4dやv6.meto4dもあるが、基本はここでやらせたいとは考えている。
    • ただ、基本はRaspberryPi3への入り口。考えることは多い
  • ds.meto4d.pgw.jp
    • このブログの実態が動いているSynology用のドメインと考えている
    • 使っているのはSynology DS216J、つまりDiskStationのds

今まではRasPiのnginxで受けて、理解のできていないリバースプロキシで飛ばしていた。
CSSやらJSやらが取れない、TOPに戻ると記事が全部なくなったり、フォーマットやDBアクセスもなんだかおかしい
なんでまあ使えるだろうでちょろちょろ使っていたんだ

SSL証明書に対応させて、NginxのConfがなんだか気持ち悪い状態に、
これはちゃんとなにがどう設定されているか勉強しながら整理しよう!と今まで置いてきた部分をちゃんと整理できた。
Nginxのconf内、locationブロックで、ifで分けてproxy_passを飛ばせない
RasPiのNginxでSSLを紐解いて、DSへはhttpでやらせようとやったが、WPはリクエストヘッダがHTTPSかどうかで出力URLがhttpかhttpsかで変わるという仕様
もうSSL証明書管理をRasPiからds.meto4d.pgw.jpはSynology管理にしようと、一元管理を変更。
proxy_passをうけてのhost名がちゃんと取得できるようにしたことや
set $schema http;
if (ssl_protocols != "") { set $schema https; }
proxy_pass $schema://ds.meto4d.pgw.jp;

と変更
最後のproxy_passの最後のスラッシュ/の有無による処理変更問題もあり、思った以上に時間がかかってしまったが、解決。
最後のスラッシュ/の有無で、アクセスするURLが変わることは知っていたが、httpのレスポンスヘッダも変えてしまうとは思わなかった。

これでとうとう、このSynology管理のブログも外に出るようになった。
サイトの見た目が変とは思うが、まずは書くこと、まずは公開することに慣れたい
10分眺めて、いい外観プラグインがなかったからしょんぼり

まとめ?

とうとう、この雑記帳も全世界に公開されてしまうことだろう。
今までのことから、三日坊主で終わるだろうねw
コメントを書くように、適当なメモでも記事を書いて行きたいが、、、

※WPはワードのプレスのこと
どこかでちょっとちゃんと話したい