Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。2

スポンサードリンク


ポイント

  • Docker イメージは、 alpine を使わない。
  • Nginx の実行ユーザと PHP-FPM の listen.owner 、 listen.group とを一致させる。
  • Nginx で fastcgi_pass に指定するファイルのディレクトリと、 PHP-FPM で listen に指定するファイルのディレクトリとを、 Docker Compose のトップレベルで定義する名前付き volume で共有する。

“Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。2” の続きを読む

セキュリティ、パフォーマンスをデフォルト設定から向上させる簡単な Nginx の SSL 設定をメモ

はじめに

Docker の nginx:latest (1.15.5) で SSL/TLS を使えるようにする最低限の Dockerfile を作りました – oki2a24 で最低限の SSL/TLS 設定を行いました。

今回は、それに加え、簡単な記述でセキュリティ、パフォーマンスを向上させる設定を追加していきます。

Nginx の SSL 設定

“セキュリティ、パフォーマンスをデフォルト設定から向上させる簡単な Nginx の SSL 設定をメモ” の続きを読む

Docker の nginx:latest (1.15.5) で SSL/TLS を使えるようにする最低限の Dockerfile を作りました

TLS/SSL で接続できる最低限の Nginx Dockerfile

FROM nginx:latest

RUN apt-get update && apt-get install -y \
    openssl \
    ssl-cert \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

COPY ./conf.d/ssl.conf /etc/nginx/conf.d/
server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /etc/ssl/certs/ssl-cert-snakeoil.pem;
    ssl_certificate_key  /etc/ssl/private/ssl-cert-snakeoil.key;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

“Docker の nginx:latest (1.15.5) で SSL/TLS を使えるようにする最低限の Dockerfile を作りました” の続きを読む

Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。

はじめに

TCP/IP の 9000 ポートで Nginx から PHP へ接続することができるようになりました。これを、Unix ドメインソケットに変更したい、そんな中で得たことを残します。。

“Nginx + PHP-FPM で unix ドメインソケットを使ったシンプルな docker-compose.yml を書きました。” の続きを読む

Certbot によって変更された Nginx 設定の内容を見てみました

SSL Server Test の結果は A でした。

はじめに

WordPress を動かしているリバースプロキシとWebサーバの Nginx で、Let’s Encrypt と Certbot で SSL/TLS の発行、導入をしました記録♪ – oki2a24 にて SSL/TLS を導入しました。

その際、Certbot によって Nginx の設定ファイルが書き換えられました。具体的には certbot --nginx コマンドを実行することで、/etc/nginx/conf.d/default.conf ファイルが書き換えられました。

今回は、その内容を見てみます。

“Certbot によって変更された Nginx 設定の内容を見てみました” の続きを読む

WordPress を動かしているリバースプロキシとWebサーバの Nginx で、Let’s Encrypt と certbot で SSL/TLS の発行、導入をしました記録♪

はじめに

本ブログをやっと、SSL/TLS 化しました。

Let’s Encrypt を認証局として、これの公式ツールである certbot を使用して、リバースプロキシもWebサーバも構築している Nginx に SSL/TLS を導入しましたので、その記録を試行錯誤も含めて記録してまいります。

まとめ

  • nginx 設定ファイルの書き換えも certbot に委ねたい場合、nginx 設定ファイルに日本語を入れるとエラーとなるため事前に削除しておく。
  • 作業前に、ファイアーウォール設定を変更して https の 443 ポートは開けておくとよい。
  • WordPress データベースの URL を修正するには、wp-cli を使えるようにして wp search-replace 'beforeurl' 'afterurl' とするのが楽。

“WordPress を動かしているリバースプロキシとWebサーバの Nginx で、Let’s Encrypt と certbot で SSL/TLS の発行、導入をしました記録♪” の続きを読む

【VirtualBox】【Mac】【CentOS7】LAMP (ただし Nginx) 環境を整える

環境

  • MacBook Pro (Retina, 13-inch, Late 2012)
  • OS X El Capitan 10.11.3(15D21)
  • VirtualBox バージョン 5.0.14 r105127

構築するもの

  • CentOS7 仮想マシン
  • 仮想マシン IP アドレス: 192.168.56.111
  • 仮想マシンへの SSH 接続環境
  • chrony (インターネット時刻同期) と Vim
  • ファイアウォールは SSH と HTTP のみ開放
  • Nginx ← 最新版
    • ドキュメントルートは /var/www/html/ とする。
    • PHP-FPM を導入する。
    • プロキシキャッシュ設定は行わない。
  • MariaDB ← 最新版
    WordPress 用に次の内容の DB を作る。

    • データベース: wpdb
    • ユーザー: wpuser
    • パスワード: wppass
  • PHP ← 最新版
    最低限と思われる次をインストールする。

    • php: PHP 本体
    • php-gd: 画像処理
    • php-mbstring: マルチバイト文字取り扱い
    • php-mysqlnd: MariaDB 接続
    • php-opcache: キャッシュ
  • WordPress
    • http://192.168.56.111
    • リビジョンは 3 に設定
    • WordPress ユーザー名: wploginuser
    • WordPress パスワード: wploginpass

“【VirtualBox】【Mac】【CentOS7】LAMP (ただし Nginx) 環境を整える” の続きを読む

【Nginx】Basic 認証をかける方法手順メモ

追記。「ログインページを介さず Basic 認証」シリーズの投稿一覧です♪

  1. 【Nginx】Basic 認証をかける方法手順メモ | oki2a24
  2. cURL を使って Basic 認証が必要な PHP へ JSON データを POST する手順メモ | oki2a24
  3. AngularJS を使って PHP へ JSON データを POST する方法 | oki2a24
  4. AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST できません>< | oki2a24
  5. AngularJS を使って Basic 認証が必要な PHP へ JSON データを POST するサンプルコード! | oki2a24

追記終わり!

nginx で Basic 認証をかけたいですの。まずは、静的な HTML ファイルと簡単な PHP ファイルを表示いたします。

その準備、手順を記していきますわ♪

Nginx で Basic 認証をかけるためのポイント

  • ユーザ名、パスワードを生成するのは nginx とは別のコマンド「htpasswd」を使用すると便利
  • 「htpasswd」は httpd がインストールされていれば使用可能。使えず、Apache をインストールする必要もなければ「httpd-tools」を yum でインストールすると良いとのこと。
  • Basic 認証をかけるには nginx 設定ファイルに「location パス」のディレクティブに auth_basic、auth_basic_user_file を指定すれば良い。

Nginx で Basic 認証をかける手順ポイント

  1. Basic 認証で使用するユーザ名、パスワードを記述したファイルを作成し、適切なディレクトリに置く。
  2. Nginx の設定ファイルに、Basic 認証をかけるパス、Basic 認証の有効化、認証情報ファイルの場所の情報を追記する。
  3. Nginx 設定をリロードし、Basic 認証がかかっていることを確認する。

“【Nginx】Basic 認証をかける方法手順メモ” の続きを読む

【nginx】server_tokens をオフにしてバージョン情報を非表示にする手順♪

nginx のバージョン情報を非表示にした方がセキュリティ上堅牢になりますの♪ある日ふと確認してみましたら、バージョン情報が表示されてしまっております><。

今回は、確認方法と設定の変更方法をメモいたします。

確認方法

“【nginx】server_tokens をオフにしてバージョン情報を非表示にする手順♪” の続きを読む