(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

Nginx

【NGINX/Linux】特定の文字列が入ったリクエストをエラーにする

やりたいこと リクエストの中で指定されるURLの中に指定した文字列が入っていた場合にエラー処理を行う。 例としてAmazon Linuxにて検証を行い、"a"という文字列が入っていた場合に応答コード400でエラーとする。 環境情報 # nginx -v nginx version: nginx/…

【NGINX Plus】yumによるインストール時におけるconflicts with fileというエラー

事象 既にNginxをインストールしている環境にNginx Plusをインストールをすると以下のエラーとなる。 # yum install -y nginx-plus ... Downloading Packages: nginx-plus-30-2.amzn2023.ngx.x86_64.rpm 1.2 MB/s | 3.5 MB 00:02 --------------------------…

【Nginx】末尾にスラッシュ/をつけないと301 Moved Permanentlyとなる事象を解消する

事象 sample/index.htmlにアクセスさせるために/sampleとたたいた際に以下となる。 $ curl localhost/sample <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.24.0</center> </body> </html>尚、末尾にスラッシュをつけると正常に用意したものが表示される。 $ curl localho…

【Nginx/Ingress】Endpointに紐づくPodのIP変更を検知する流れ

確認したいこと NGINX Ingress ControllerはService/Endpointに紐づくPodのIPが変更されるとそれを検知します。 今回はDeploymentでNGINX Ingress Controllerが動作している環境で、変更検知の流れをログから調査しました。 環境情報 NGINX Ingress controll…

【Nginx/Ingress】Sticky sessionsを有効にすることで同一PODに通信を流す

はじめに NGINX Ingress Controllerにはセッションが続いている間は同じクライアントを同じサーバへ誘導する機能(Sticky sessions)が存在します。本記事ではそれを実際に有効にすることで、ブラウザ通信が同一のPodに流れることを実機で確認しました。 環…

【Nginx】設定されているパラメータやコンフィグを表示する

やりたいこと Nginxが動作しているサーバにて設定されているConfigを表示したい。 環境情報 $ nginx -v nginx version: nginx/1.19.9 やり方 nginxコマンドのTオプションを利用する。以下を押下すると $ nginx -T標準出力に現在読み込まれている値が表示され…

【Nginx/Linux】TLS1/TLS1.1を用いた接続を拒否する設定をopensslで確認する

はじめに nginxでは設定ファイルにてSSL通信に関するパラメータを管理できますが、プロトコルは明示的に指定しない場合は以下が許容されています。 ssl_protocols TLSv1 TLSv1.1 TLSv1.2今回は明示的にTLS1.0とTLS1.1を受け付けないように設定変更を行い、op…

【Linux/Nginx】no "ssl_certificate" is defined for the "ssl" directive in ...というエラー

事象 Linux環境にてNGINXのコンフィグチェックを行うと以下のようなエラーとなる。 # nginx -t [emerg] no "ssl_certificate" is defined for the "ssl" directive in /etc/nginx/nginx.conf:34 環境情報 # nginx -v nginx version: nginx/1.20.2 原因/解決…

【Nginx/Ingress】Ingress Controllerのバージョン確認方法

やりたいこと Pod上で動作しているNGINX Ingress Controllerのバージョンを調べたい。 環境情報 NGINX Ingress controller Release: v0.48.1 やり方 ルートディレクトリ直下に同コマンドがあるのでバージョンを引数とすると $ kubectl exec -it $POD_NAME -n…

【Nginx/Ingress】[emerg] unknown directiveというエラー

事象 Nginx Ingress Controller側にて以下のエラーログが出力される。 nginx-ingress nginx: [emerg] unknown directive "nginx.ingress.kubernetes.io/XX:" in /tmp/nginx-cfgxx:583上記で表示されている"nginx.ingress.kubernetes.io/XX"はIngressのannota…

【Nginx】413 Request Entity Too Largeというエラーの解消法

事象 Nginxをプロキシサーバとして利用している環境でファイルをアップロードするも画面に 413 Request Entity Too Large と表示され、Nginxのログでも [error] ...: *62620 client intended to send too large body: 90078152 bytes, client: xx, server: l…