備忘録 gem install で openssl のエラー
ERROR: Loading command: install (LoadError) ERROR: While executing gem ... (NoMethodError) undefined method `invoke_with_build_args' for nil:NilClass
- anaconda3 がインストールされてて、その openssl を参照していてその openssl のバージョンが不正でエラー出てるっぽい
- ~/.config/fish/fish_variables から anaconda3 関連のパスを削除
- set -U fish_user_paths $fish_user_paths /usr/local/opt/openssl/bin
- rbenv uninstall 2.6.1
- rbenv install 2.6.1
参考
Mac の VS Code でターミナルを開く
↓
control + Shift + @
AWS SAM CLI をインストールするまで
ここを参考
- AWS アカウント作る
- 管理者権限を持った IAM ユーザーを作る
- AWS CLI をインストール
- https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-install.html
- 自分の python 環境は anaconda3 を利用していたので、pip コマンドではなく、conda コマンドを利用してインストールする(https://anaconda.org/conda-forge/awscli)
- conda install -c conda-forge awscli だと Solving environment が一向に終わらなかった
- conda install --override-channels -c main -c conda-forge boost
- https://github.com/conda/conda/issues/7690 参考にした
- Docker をインストール
- AWS SAM CLI をインストール
Docker で作った apache に SSL/TLS で接続して通信の中身を Wireshark で見る
のつづき。
この記事の段階ではまだ、通信の中は見れません。
下記の記事を参考にさせていただいて、見れるように設定していきます。 ozuma.hatenablog.jp
10行目までは前回までと同じ。
SSLSessionCacheディレクティブに"none" に設定する
-e '/^SSLSessionCacheTimeout/d' \ -e 's/^SSLSessionCache.*$/SSLSessionCache none/g' \
DH鍵交換を使用しない
-e 's/^SSLCipherSuite.*$/SSLCipherSuite kRSA/g' \
これらを conf/extra/httpd-ssl.conf に設定する。
完成したDockerfile
Vault の /secret パスは version2 なんだなぁ
Vault の Getting Started をやっている。
Vault Curriculum - HashiCorp Learn
/secret のパスに例えば
vault write secret/hoge foo=piyo
とやると下記エラーが表示される。
Error writing data to secret/hoge: Error making API request. URL: PUT http://127.0.0.1:8200/v1/secret/hoge Code: 404. Errors: WARNING! The following warnings were returned from Vault: * Invalid path for a versioned K/V secrets engine. See the API docs for the appropriate API endpoints to use. If using the Vault CLI, use 'vault kv put' for this operation.
「そんなパスないから、vault kv put
使えよ」
と言っている。
put
を使ってやってみる。
vault kv put secret/hoge foo=piyo
Key Value --- ----- created_time 2019-03-19T15:10:19.246453Z deletion_time n/a destroyed false version 1
正常にできる。
どうも、デフォルトである /secret のパスは v2 の Secrets Engine になっているみたい。 stackoverflow.com
vault secrets enable -path=kv kv
とかで、自分で追加した Secrets Engine は v1 になっているみたい。
vault secrets enable -version=2 -path=kv2 kv
とかすると v2 になる。
コマンドから version を確認する手段がわからなくて、下記URLから確認したら version が確認できた。 http://localhost:8200/ui/vault/secrets
SSL/TLS を使って Apache にアクセスするサンプルを Docker で作成する
上記の公式の手順を順に行えばよい。
証明書は openssl を使用してとりあえず作成。 下記サイトを参考にした。 ozuma.hatenablog.jp
作成した Dockerfile はコレ
https://localhost/ にアクセスすると”保護されていない通信"だけどページが表示される。