1. 最新のnginx dockerイメージをダウンロードする $ docker pull nginx:最新 2. nginxコンテナを起動する nginxコンテナを起動するには、次のコマンドを実行します。 docker run --detach \ --name wx-nginx \ -p 443:443\ -p 80:80 \ -v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:rw\ -v /home/evan/workspace/wxserver/nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw\ -v /home/evan/workspace/wxserver/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw\ -v /home/evan/workspace/wxserver/nginx/logs:/var/log/nginx/:rw\ -v /home/evan/workspace/wxserver/nginx/ssl:/ssl/:rw\ -d nginx
ここでは、次のファイルを準備する必要があります。 1. nginx 設定ファイル まずnginx.confファイルです。デフォルトの設定ファイルは次のとおりです。 #nginx を実行しているユーザー user nginx; #プロセスを開始し、CPU の数と同じになるように設定します。worker_processes 1; #グローバルエラーログとPIDファイルの場所 error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; #動作モードと接続制限イベント { #単一のバックグラウンドワーカーの同時プロセスの最大数は1024に設定されています ワーカー接続 1024; } http { #MIME タイプを設定する include /etc/nginx/mime.types; デフォルトタイプ アプリケーション/オクテットストリーム; #ログフォーマットを設定する log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log メイン; ファイル送信オン; #tcp_nopush オン; #接続タイムアウトイベントを設定します keepalive_timeout 65; #GZIP 圧縮をオンにします #gzip on; /etc/nginx/conf.d/*.conf を含めます。 } 最後の行には、サーバフィールドを設定するために使用される別の設定ファイルconf.d/default.confも含まれていることがわかります。 サーバー{ listen 80; #ポート80をリッスンします。すべてのアクセスをHTTPSに強制する場合は、この行をキャンセルする必要があります server_name www.buagengen.com; #ドメイン名#charset koi8-r; #access_log /var/log/nginx/host.access.log メイン; # ホームページのインデックスディレクトリと名前の場所を定義します / { ルート /usr/share/nginx/html; インデックス index.html index.htm; } # エラープロンプトページを定義します #error_page 404 /404.html; #エラーページを /50x.html にリダイレクトします エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルート /usr/share/nginx/html; } } 2. nginxのデフォルトホームページのHTMLファイル この HTML は自分で定義できます。どれでも構いません。 このとき、IP アドレスを通じて nginx で定義された HTML ファイルに直接アクセスできます。ただし、現時点では http 経由のアクセスのみであり、https 経由のアクセスはまだできません。nginx サーバーに証明書を追加する必要があります。 3. openssl経由で証明書を生成する server.key を設定します。パスワードを 2 回設定する必要があります。 openssl genrsa -des3 -out server.key 1024 パラメータ設定では、まず以前に設定したパスワードを入力する必要があります。 openssl req -new -key server.key -out server.csr 次に、以下の情報を入力する必要があります。大まかに記入してください。とにかく、これはテスト用です。 国名 (2 文字コード) [AU]: 州または県名 (フルネーム) [Some-State]: 地域名 (例: 市) []: 組織名 (例: 会社) [Internet Widgits Pty Ltd]: 組織単位名 (例: セクション) []: 共通名(例:サーバーのFQDNまたはあなたの名前)[]:ウェブサイトのドメイン メールアドレス[]:メールアドレス 次の「追加」属性を入力してください 証明書のリクエストと一緒に送付されます チャレンジパスワード []: ここにパスワードを入力してください オプションの会社名 []: RSA キーを書き込みます (以前に設定したパスワードも入力する必要があります)。 openssl rsa -in server.key -out server_nopwd.key 秘密鍵を取得します: openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt この手順を完了すると、必要な証明書ファイルと秘密キーが取得されます。
4. httpsアクセスをサポートするようにnginxサーバーを構成する 前の手順で生成されたファイルを、ホストの ssl ディレクトリ (/home/evan/workspace/wxserver/nginx/ssl) にコピーします。 次に、構成ファイル default.conf を変更し、SSL サポートを追加します。 サーバー{ listen 80; #ポート 80 を listen します。すべてのアクセスを HTTP に強制する場合は、この行を登録解除する必要があります。 listen 443 ssl; server_name www.buagengen.com; #ドメイン名# SSLを追加 #ssl on; #HTTPs アクセスを強制する場合は、この行で ssl_certificate /ssl/server.crt を開く必要があります。 ssl_certificate_key /ssl/server.key; ssl_session_cache 共有:SSL:1m; ssl_session_timeout 5分; # openssl ssl_protocols SSLv2 SSLv3 TLSv1.2 でサポートされている形式で暗号を指定します。 ssl_ciphers HIGH:!aNULL:!MD5; # パスワード暗号化方式 ssl_prefer_server_ciphers on; # SSLv3 および TLSv1 プロトコルに依存するサーバー暗号は、クライアント暗号よりも優先されます # ホームページのインデックスディレクトリと名前の場所を定義します / { ルート /usr/share/nginx/html; インデックス index.html index.htm; } #エラーページを /50x.html にリダイレクトします エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルート /usr/share/nginx/html; } } nginx コンテナを再起動します。これで、https 経由で nginx サーバーにアクセスできるようになります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: MySQL 5.5.56 バージョン (バイナリ パッケージ インストール) カスタム インストール パス ステップ レコード
MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...
ビジネスを想定: 2位の従業員の給与情報を見るデータベースを作成する emps が存在する場合はデー...
序文ゲートウェイプロジェクトを開発する場合、署名 sign_key 情報はリクエスト時にリクエスト ...
SSL 証明書の使用についてはここでは説明しません。SSL 証明書を導入する必要がある友人は、すでに...
ps コマンドを使用できます。プロセスの PID など、現在実行中のプロセスに関する関連情報を表示で...
目次1. 基本理論1.1 取引1.2 分散トランザクション2. 分散トランザクションソリューション2...
目次質問再生暗黙的な変換要約する参照する質問仕事中、1 つの SQL クエリ ステートメントのみを実...
仕事上、携帯電話に適応した Web ページ効果を作成する必要があります。ようやく完成しました。まずは...
序文現在、プロジェクトでは、Axios ライブラリが HTTP インターフェース リクエストによく使...
ウェブサイト機能を開発する場合、セッション キャッシュを時間内にクリアできません。一連の探索が始まり...
この記事の例では、参考までに簡単な計算機を実装するためのJavaScriptの具体的なコードを共有し...
Linux システムの bash history コマンドは、以前に実行したコマンドを記憶し、再入力...
この記事では、VMware Workstation 14 Proのインストールとアクティベーションに...
2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...
この記事では、vue+echart を使って二重列チャートを実現するための具体的なコードを参考までに...