Nginx

Nginx try_files を使ってリソースを取得するには?

try_files でローカルのファイルURIを確認します。なければ @リンク を参照します。 ↓下の設定ファイルで、ローカルで参照できなければ S3 を参照するようにできました。 以下のようにファイルを指定すると「/img/2105171209221141324_2.jpg」のファイルを常に返すようになります。(実験)

Nginx サーバー証明書を取得して、リバースプロキシを立てるには?

Nginxコンテナ を起動して SSL を取得。取得した SSL でリバースプロキシを立てる手順。 ドッカーファイルを作成します。 apt-get で以下のコマンドをインストールしています。①procps → free, kill, pgrep, pkill, pmap, ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, watch②iputils-ping → ping③net-tools → arp , ifconfig , netstat , rarp , route ドッカーファイルをビルドします。 コンテナを起動します。 certbotコマンド でサーバー証明書を取得します。 サーバー証明書を取得したら、Ctrl+p → Ctrl+q でコンテナから出ます。 コンテナ内にある設定ファイルをボリュームにコピーします。 一旦、コンテナを削除します。 ボリュームに以下のような設定ファイルを作成します。 ①http は https に転送する。②ssl_certificate、ssl_certificate_key には取得したサーバー証明書を設定する。 …

Nginx サーバー証明書を取得して、リバースプロキシを立てるには? Read More »

Nginx if文で AND、OR 等の論理演算子を使うには?

「192.168.0.1 且つ 192.168.0.2 以外ならメンテナンス中を表示する。」としたいのですが、これはうまくいきません。まず、nginx が起動しません。 nginx の if文は1つしか判定できないみたいです。また、以下のように入れ子にすることもできません。 この問題は、以下のように変数を用いることで対応することができます。 因みに①比較は == ではなく = です。↑見た目が代入っぽく見えて少し怖いですね。②「false = $chk」のように逆にすることはできません。③「service nginx reload」では設定ファイルがエラーしていても、前回の起動した状態に戻ってしまうのでエラーに気がつけませんでした。「service nginx stop」から 「service nginx start」するようにします。 Nginxで2拠点以外からのアクセスでメンテナンス中画面を表示させたい場合に、AND演算子を使って条件を書いたところ上手く動かなかった。

Nginx リバースプロキシでクライアントに返す HTTPヘッダーを追加・変更するには?

拡張子 .hta のファイルにアクセスすると「content-type: text/plain」の HTTPヘッダーが返されファイルの中身が表示されてしまったので、「content-type: application/octet-stream」で上書きしてダウンロードするようにします。 bitbucket.org で htaアプリを公開している。ブラウザで拡張子 .hta のファイルにアクセスした場合、ダウンロードされずファイルの中身がそのまま表示されてしまった。リバースプロクシを通すことによって htaアプリをダウンロードさせたい。

certbotコマンドで証明書を更新するには?

更新できなかった場合は↓こちらのコマンドで証明書を取得できます。 30日の更新期限を切っていないくて証明書を更新するには –force-renew を付けます。 証明書を取得後、リロードで証明書を更新できます。 –post-hook で更新後にコマンドを実行することができます。 –cert-name で特定のサーバー証明書だけを更新することができます。

Nginx location の優先順位について

①完全一致(=) 完全一致すれば、このローケーションに決まる。 ②先頭一致(^~) 先頭一致すれば、このローケーションに決まる。 ③正規表現(~*、~) 正規表現で一致すれば、このローケーションに決まる。 「~*」は大文字・小文字を区別しません。「~」は大文字・小文字を区別します。 ④先頭一致 最も長い文字列の先頭一致で、ローケーションが決まる。

Scroll to Top