Posts for: #Nginx

人間の体調もマシンの調子も悪い

1時に寝て7時に起きた。冬のせいか、朝起きるのが辛くなってきた。自身の体調がパッとしないと思っていたらマシンにも移ってしまった。

デスクトップマシンの調子が悪い

何の前触れもなく os がいきなりストールする。これまでも稀にあったり、サスペンドから復帰しないとかも1ヶ月に1回ぐらいはあったりしていたけど、今日は2時間以内に3回発生した。使い始めてちょうど3年を超えたところなのでそろそろ故障が出てきてもおかしくはない。もっとも疑わしいディスクの S.M.A.R.T チェックをやってみた。SMART / Health Informationの内容 をみると、Percentage Used という値がメーカーが独自計算した耐久値を表しているとのころ。しかし、値は13%なのでまだまだ大丈夫そう。その他のエラーチェックなどでもまったく問題は検出されなかった。どうやらディスクではないみたい。

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        28 Celsius
Available Spare:                    100%
Available Spare Threshold:          50%
Percentage Used:                    13%
Data Units Read:                    48,536,210 [24.8 TB]
Data Units Written:                 57,978,947 [29.6 TB]
Host Read Commands:                 1,818,481,150
Host Write Commands:                1,973,810,058
Controller Busy Time:               9,182
Power Cycles:                       1,863
Power On Hours:                     4,576
Unsafe Shutdowns:                   80
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               28 Celsius
Thermal Temp. 1 Transition Count:   90
Thermal Temp. 2 Transition Count:   50
Thermal Temp. 1 Total Time:         2246
Thermal Temp. 2 Total Time:         50

nginx の multi upstream 対応

先週末の続き 。docker compose でデプロイして node.js 上のポートに http 接続できるところまでやっていた。nginx のリバースプロキシ経由でアクセスできるようにする。web api も外部から https 接続できるようにすると2つの upstream が必要になる。ホスト名を dns 登録していないから同じ ip アドレスでアクセスしているため、ポート番号を変えないといけない。そのまま server 設定を行うと location 設定が dry の原則に反してしまう。どうやったら再利用できるかを調べたら conf として外部に出してしまって include すればいいとあったので次のようにして再利用できた。これで node.js アプリは 443 を、web api は 8443 で https 接続できた。

http {

    upstream my-app {
        server app:3000;
    }

    upstream web-api {
        server api:18080;
    }

    server {
        listen 443 ssl;
        server_name server-app;
        location / {
            include     /etc/nginx/common_proxy.conf;
            proxy_pass  http://my-app;
        }
    }

    server {
        listen 8443 ssl;
        server_name server-api;
        location / {
            include     /etc/nginx/common_proxy.conf;
            proxy_pass  http://web-api;
        }
    }
}

openapi 勉強会

1時に寝て7時に起きた。昨日はたまたま遅くなって0時頃に帰ってきたが、最近は22時前後に帰ってくることが多い。疲労困憊。

nginx でつくるリバースプロキシ

ちょっとググってみつかる記事を参考にして設定したらすぐにできた。私は tls 周りの設定に詳しくないのでこういうまとめ記事はとても助かる。インターネットって便利。

openapi 勉強会

昨日の続き。openapi についてチーム勉強会を開催した。wiki に次の目次で説明を書いてその内容を勉強会で話した。ちょうど1時間におさまって内容もわかりやすいものができたのではないかと自画自賛。毎週のチーム勉強会のネタとしてちょうどよい粒度だった。

  • code generator が fork した背景
  • スキーマ駆動開発
    • メリット
    • デメリット
  • OpenAPI スキーマからドキュメント生成
  • OpenAPI スキーマからコード生成
  • リファレンス

余談だけど、過去に働いていた会社の発表資料が slideshare から docswell というサービスに移管されてた。slideshare は広告が鬱陶しいサービスになってしまってひどいユーザー体験だからこれは適切な判断だと思う。