Merge branch 'enable-mermaid-js-goldmark' of kazu634/blog into master

This commit is contained in:
Kazuhiro MUSASHI 2020-05-01 19:48:47 +09:00 committed by Gitea
commit 518121eb89
5 changed files with 24 additions and 27 deletions

View File

@ -13,11 +13,8 @@ theme = "angels-ladder"
copyright = "Written by Kazuhiro MUSASHI" copyright = "Written by Kazuhiro MUSASHI"
[markup] [markup]
[markup.highlight] [markup.highlight]
codeFences = true codeFences = true
guessSyntax = true guessSyntax = true
style = "monokai" style = "monokai"
[markup.goldmark]
[markup.goldmark.renderer]
unsafe= true

View File

@ -13,11 +13,8 @@ theme = "angels-ladder"
copyright = "Written by Kazuhiro MUSASHI" copyright = "Written by Kazuhiro MUSASHI"
[markup] [markup]
[markup.highlight] [markup.highlight]
codeFences = true codeFences = true
guessSyntax = true guessSyntax = true
style = "monokai" style = "monokai"
[markup.goldmark]
[markup.goldmark.renderer]
unsafe= true

View File

@ -18,7 +18,7 @@ image="https://farm9.staticflickr.com/8462/29581774242_bf25a0a820_z.jpg"
## 簡単な説明 ## 簡単な説明
下の図のLineBotServerの部分を作り込みます: 下の図のLineBotServerの部分を作り込みます:
<div class="mermaid"> {{<mermaid align="center">}}
sequenceDiagram sequenceDiagram
User->>Line: Some Action(s) User->>Line: Some Action(s)
Line->>LineBotServer: Make HTTP Request Line->>LineBotServer: Make HTTP Request
@ -29,7 +29,7 @@ sequenceDiagram
LineBotServer->>Line: Make HTTP Request, using REST API LineBotServer->>Line: Make HTTP Request, using REST API
Line->>User: Show some message(s) as Reply Line->>User: Show some message(s) as Reply
end end
</div> {{< /mermaid >}}
## Line Developerに登録する ## Line Developerに登録する
[お金をかけずにLINEのMessaging APIの投稿(push)と返信(replay)を試してみる。 | ポンコツエンジニアのごじゃっぺ開発日記。](https://blog.pnkts.net/2018/06/03/line-messaging-api/)に書いてある通りに進めます。 [お金をかけずにLINEのMessaging APIの投稿(push)と返信(replay)を試してみる。 | ポンコツエンジニアのごじゃっぺ開発日記。](https://blog.pnkts.net/2018/06/03/line-messaging-api/)に書いてある通りに進めます。
@ -116,7 +116,7 @@ Botのcallback URLに対して、データをPOSTリクエストで送信する
クイックレスポンスの時にのみ利用できるアクションのようです。位置情報の画面が出てくるようです。 クイックレスポンスの時にのみ利用できるアクションのようです。位置情報の画面が出てくるようです。
## コード ## コード
``` ```go
package main package main
import ( import (

View File

@ -19,7 +19,7 @@ SSL/TSL証明書を発行するにあたり、そのドメインの所有者が
### HTTP-01認証 ### HTTP-01認証
ドメインの所有者であれば、そのドメインにアクセスした際に表示されるコンテンツを自由にできるはずですので、それを利用した認証方式です。具体的には[Let&#39;s Encrypt](https://letsencrypt.org/)から送られてきたトークンを記入したファイルをウェブサーバで配信できる状態にして、[Let&#39;s Encrypt](https://letsencrypt.org/)にそのファイル・トークンを確認してもらうことで、ドメインを所有していることを証明します。 ドメインの所有者であれば、そのドメインにアクセスした際に表示されるコンテンツを自由にできるはずですので、それを利用した認証方式です。具体的には[Let&#39;s Encrypt](https://letsencrypt.org/)から送られてきたトークンを記入したファイルをウェブサーバで配信できる状態にして、[Let&#39;s Encrypt](https://letsencrypt.org/)にそのファイル・トークンを確認してもらうことで、ドメインを所有していることを証明します。
<div class="mermaid"> {{<mermaid align="center">}}
sequenceDiagram sequenceDiagram
participant User participant User
participant Web Server participant Web Server
@ -43,7 +43,7 @@ sequenceDiagram
Lets Encrypt ->> Web Server: HTTP Request (Port 80) via Internet Lets Encrypt ->> Web Server: HTTP Request (Port 80) via Internet
Web Server ->> Lets Encrypt: HTTP Response (200) with the valid token Web Server ->> Lets Encrypt: HTTP Response (200) with the valid token
Lets Encrypt ->> User: SSL/TSL Certificate Lets Encrypt ->> User: SSL/TSL Certificate
</div> {{< /mermaid >}}
### DNS-01認証 ### DNS-01認証
ドメインの所有者であれば、 ドメインの所有者であれば、
@ -53,7 +53,7 @@ sequenceDiagram
はずですので、それを利用した認証方式です。[Let&#39;s Encrypt](https://letsencrypt.org/)から送られてきたトークンをTXTレコードに指定し、それを[Let&#39;s Encrypt](https://letsencrypt.org/)に確認してもらうことで、ドメインを所有していることを証明します。 はずですので、それを利用した認証方式です。[Let&#39;s Encrypt](https://letsencrypt.org/)から送られてきたトークンをTXTレコードに指定し、それを[Let&#39;s Encrypt](https://letsencrypt.org/)に確認してもらうことで、ドメインを所有していることを証明します。
<div class="mermaid"> {{<mermaid align="center">}}
sequenceDiagram sequenceDiagram
participant User participant User
participant Lets Encrypt participant Lets Encrypt
@ -73,14 +73,14 @@ sequenceDiagram
else TXT record: not valid else TXT record: not valid
Lets Encrypt ->> User: Failure Notice Lets Encrypt ->> User: Failure Notice
end end
</div> {{< /mermaid >}}
### ここまでのまとめ ### ここまでのまとめ
[Lego](https://github.com/go-acme/lego)はコマンドラインで[Let&#39;s Encrypt](https://letsencrypt.org/)を用いてSSL/TSL証明書を発行するツールです。DNS認証にも対応しており、各種マネージドのDNSサービスを利用することで、自動的にTXTレコードを変更して、SSL/TSL証明書を取得することができます。 [Lego](https://github.com/go-acme/lego)はコマンドラインで[Let&#39;s Encrypt](https://letsencrypt.org/)を用いてSSL/TSL証明書を発行するツールです。DNS認証にも対応しており、各種マネージドのDNSサービスを利用することで、自動的にTXTレコードを変更して、SSL/TSL証明書を取得することができます。
おおまかな処理の流れをまとめると、以下のようになります。[Lego](https://github.com/go-acme/lego)を利用することで、煩雑な手続きをまとめて実行してくれていることがわかると思います: おおまかな処理の流れをまとめると、以下のようになります。[Lego](https://github.com/go-acme/lego)を利用することで、煩雑な手続きをまとめて実行してくれていることがわかると思います:
<div class="mermaid"> {{<mermaid align="center">}}
sequenceDiagram sequenceDiagram
participant User participant User
participant Lego participant Lego
@ -98,7 +98,7 @@ sequenceDiagram
DNS ->> Lets Encrypt: Return the TXT record DNS ->> Lets Encrypt: Return the TXT record
Lets Encrypt ->> Lego: SSL/TSL Certificate Lets Encrypt ->> Lego: SSL/TSL Certificate
Lego ->> User: SSL/TSL Certificate Lego ->> User: SSL/TSL Certificate
</div> {{< /mermaid >}}
この記事ではAWSのマネージドDNSサービス・[Amazon Route 53](https://aws.amazon.com/route53/)を利用して、SSL/TSL証明書を取得してみます。 この記事ではAWSのマネージドDNSサービス・[Amazon Route 53](https://aws.amazon.com/route53/)を利用して、SSL/TSL証明書を取得してみます。
@ -108,7 +108,7 @@ githubからダウンロードします。
### ダウンロード ### ダウンロード
ファイルのダウンロードは何でも構いませんが、たとえば以下のようになるかと思います: ファイルのダウンロードは何でも構いませんが、たとえば以下のようになるかと思います:
``` ```sh
kazu634@ip-10-0-1-234% wget https://github.com/go-acme/lego/releases/download/v2.4.0/lego_v2.4.0_linux_amd64.t kazu634@ip-10-0-1-234% wget https://github.com/go-acme/lego/releases/download/v2.4.0/lego_v2.4.0_linux_amd64.t
ar.gz ar.gz
--2019-03-31 04:33:09-- https://github.com/go-acme/lego/releases/download/v2.4.0/lego_v2.4.0_linux_amd64.tar.gz --2019-03-31 04:33:09-- https://github.com/go-acme/lego/releases/download/v2.4.0/lego_v2.4.0_linux_amd64.tar.gz
@ -131,7 +131,7 @@ lego_v2.4.0_linux_amd64.tar 100%[=========================================>] 8
### 解凍 ### 解凍
解凍方法は以下のようになるかと思います: 解凍方法は以下のようになるかと思います:
``` ```sh
kazu634@ip-10-0-1-234% tar xvzf lego_v2.4.0_linux_amd64.tar.gz [~/works] kazu634@ip-10-0-1-234% tar xvzf lego_v2.4.0_linux_amd64.tar.gz [~/works]
CHANGELOG.md CHANGELOG.md
LICENSE LICENSE
@ -152,7 +152,7 @@ drwxr-xr-x 14 kazu634 kazu634 4.0K Mar 31 04:34 ..
### 下準備 ### 下準備
コマンドラインのヘルプはこんな感じになります: コマンドラインのヘルプはこんな感じになります:
``` ```sh
kazu634@ip-10-0-1-234% ./lego dnshelp kazu634@ip-10-0-1-234% ./lego dnshelp
Credentials for DNS providers must be passed through environment variables. Credentials for DNS providers must be passed through environment variables.
@ -168,7 +168,7 @@ More information: https://go-acme.github.io/lego/dns
[Amazon Route 53](https://aws.amazon.com/route53/)特有の注意事項はこちら: [Amazon Route 53](https://aws.amazon.com/route53/)特有の注意事項はこちら:
``` ```sh
kazu634@ip-10-0-1-234% ./lego dnshelp -c route53 kazu634@ip-10-0-1-234% ./lego dnshelp -c route53
Configuration for Amazon Route 53. Configuration for Amazon Route 53.
Code: 'route53' Code: 'route53'
@ -194,7 +194,7 @@ Additional Configuration:
つまりこのようなフローになります: つまりこのようなフローになります:
<div class="mermaid"> {{<mermaid align="center">}}
sequenceDiagram sequenceDiagram
participant User participant User
participant Lego participant Lego
@ -216,7 +216,7 @@ sequenceDiagram
Route53 ->> Lets Encrypt: Return the TXT record Route53 ->> Lets Encrypt: Return the TXT record
Lets Encrypt ->> Lego: SSL/TSL Certificate Lets Encrypt ->> Lego: SSL/TSL Certificate
Lego ->> User: SSL/TSL Certificate Lego ->> User: SSL/TSL Certificate
</div> {{< /mermaid >}}
### AWS_ACCESS_KYE_IDとAWS_SECRET_ACCESS_KEYの調べ方 ### AWS_ACCESS_KYE_IDとAWS_SECRET_ACCESS_KEYの調べ方
後で書く 後で書く
@ -229,7 +229,7 @@ sequenceDiagram
### 証明書の取得 ### 証明書の取得
それでは証明書を取得してみます。以下のように実行することになると思います: それでは証明書を取得してみます。以下のように実行することになると思います:
``` ```sh
kazu634@ip-10-0-1-234% export AWS_ACCESS_KEY_ID="xxxx" kazu634@ip-10-0-1-234% export AWS_ACCESS_KEY_ID="xxxx"
kazu634@ip-10-0-1-234% export AWS_SECRET_ACCESS_KEY="yyyy" kazu634@ip-10-0-1-234% export AWS_SECRET_ACCESS_KEY="yyyy"
kazu634@ip-10-0-1-234% export AWS_HOSTED_ZONE_ID="zzzz" kazu634@ip-10-0-1-234% export AWS_HOSTED_ZONE_ID="zzzz"
@ -257,7 +257,7 @@ kazu634@ip-10-0-1-234% ./lego --dns route53 --domains lego.kazu634.com --email s
### nginxで証明書を指定する ### nginxで証明書を指定する
以下のように証明書が取得されているはずです: 以下のように証明書が取得されているはずです:
``` ```sh
kazu634@ip-10-0-1-234% pwd kazu634@ip-10-0-1-234% pwd
/home/kazu634/works/.lego/certificates /home/kazu634/works/.lego/certificates
@ -273,7 +273,7 @@ drwxr-xr-x 4 kazu634 kazu634 4.0K Mar 31 04:59 ..
この場合、`nginx`には以下のように指定します: この場合、`nginx`には以下のように指定します:
``` ```nginx
ssl_certificate /home/kazu634/works/.lego/certificates/lego.kazu634.com.crt; ssl_certificate /home/kazu634/works/.lego/certificates/lego.kazu634.com.crt;
ssl_certificate_key /home/kazu634/works/.lego/certificates/lego.kazu634.com.key; ssl_certificate_key /home/kazu634/works/.lego/certificates/lego.kazu634.com.key;
``` ```
@ -288,7 +288,7 @@ drwxr-xr-x 4 kazu634 kazu634 4.0K Mar 31 04:59 ..
その後は通常通り、コマンドを実行します: その後は通常通り、コマンドを実行します:
``` ```sh
kazu634@ip-10-0-1-234% ./lego --dns route53 --domains "*.kazu634.com" --email simoom634@yahoo.co.jp run kazu634@ip-10-0-1-234% ./lego --dns route53 --domains "*.kazu634.com" --email simoom634@yahoo.co.jp run
2019/03/31 06:26:23 [INFO] [*.kazu634.com] acme: Obtaining bundled SAN certificate 2019/03/31 06:26:23 [INFO] [*.kazu634.com] acme: Obtaining bundled SAN certificate
2019/03/31 06:26:23 [INFO] [*.kazu634.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/FSIRwOjEhpS6H5U0hV2OT-s1ez8qRlHFNmLZ3-0PNw8 2019/03/31 06:26:23 [INFO] [*.kazu634.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/FSIRwOjEhpS6H5U0hV2OT-s1ez8qRlHFNmLZ3-0PNw8

View File

@ -0,0 +1,3 @@
<div class="mermaid" align="{{ if .Get "align" }}{{ .Get "align" }}{{ else }}center{{ end }}">
{{ safeHTML .Inner }}
</div>