Nginxを構成し、Linuxでhttpsプロトコルを使用する

周囲

Centos7.6
nginx-1.17.0
 

ダウンロード

公式サイト:http//nginx.org/download/nginx-1.17.0.tar.gz
 

環境確認

インストール中にnginxシステムがインストールされているかどうかを確認するために、最初の前にgccpcre-develzlib-developenssl-devel

  • パッケージがインストールされているかどうかを確認します

 

yum list installed | grep xxx

ここに写真の説明を挿入

  • パッケージをインストールする
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

ここに写真の説明を挿入
上の写真がインストールされています

 

インストール

  • ウィルnginx-1.17.0.tar.gzサーバーと解凍にアップロード
tar -xzvf nginx-1.17.0.tar.gz

解凍後は、次のようになります。
ここに写真の説明を挿入

  • nginxディレクトリの下にコンパイルしてインストールしますnginx
./configure --prefix=/usr/local/nginx1.17.0 --conf-path=/usr/local/nginx1.17.0/nginx.conf --with-http_stub_status_module --with-http_ssl_module

--with-http_ssl_module構成nginxサポートhttpsプロトコルアクセス、使用しないでhttpsコマンドを追加できません
ここに写真の説明を挿入
このコマンド、ディレクトリに生成されnginxた構成ファイルをコンパイルします。これnginx.confnginx、コンパイラエラーがこのようにエラーログの裏側を参照しているため、nginx構成ファイルが存在しないためconfです。のnginx.conf
ここに写真の説明を挿入

  • 順次実行makemake installコンパイル
make

ここに写真の説明を挿入
make install
ここに写真の説明を挿入

  • インストールが成功したかどうかをテストします
./sbin/nginx -t

ここに写真の説明を挿入

  • 起動nginx
./sbin/nginx

ここに写真の説明を挿入

  • やめるnginx
./sbin/nginx -s stop
  • リブートnginx
./sbin/nginx -s reload
  • nginxプロセスを表示
ps -ef | grep nginx

ここに写真の説明を挿入

  • アクセス:ブラウザがサーバーにアクセスしIPnginxデフォルトのポートは80)、次のインターフェイスが成功を証明しているように見えます
    ここに写真の説明を挿入

HTTPSを構成する

  • サーバーopensslインストールされopenssl-devel
yum install openssl  openssl-devel
  • 証明書ストレージディレクトリを作成します
mkdir   /usr/local/nginx/conf/ssl
  • サーバーの秘密鍵を作成する
openssl genrsa -des3 -out server.key 2048 #根据提示输入证书口令

ここに写真の説明を挿入

  • 署名リクエストの証明書を作成する(CSR
openssl req -new -key server.key -out server.csr  #输入上面设置的口令,根据提示输入相应的信息

ここに写真の説明を挿入

  • key復号化
openssl rsa -in server.key -out server_nopasswd.key

ここに写真の説明を挿入

  • 上記の秘密鍵を使用して証明書に署名し、CSR
openssl x509 -req -days 365 -in server.csr -signkey server_nopasswd.key -out server.crt

ここに写真の説明を挿入

  • vimnginx構成ファイルを変更しssl証明書をロードします
server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      /usr/local/nginx-1.17.0/conf/ssl/server.crt;
        ssl_certificate_key  /usr/local/nginx-1.17.0/conf/ssl/server.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_protocols TLSv1.2;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
  • 証明書のパスワードを入力して開始しますnginx
    ここに写真の説明を挿入

  • ブラウザアクセステスト:https://服务器IP + 端口443次のインターフェイスが表示された場合、成功します
    ここに写真の説明を挿入

エラーログ

  • nginxエラー:cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file
    ここに写真の説明を挿入

問題のあるコマンドであるコンパイルおよびインストールnginx時にエラーが指定されていませんconf-path

./configure --prefix=/usr/local/nginx1.17.0 --with-http_stub_status_module --with-http_ssl_module

コマンドを次の仕様conf-path変更した正常です。

./configure --prefix=/usr/local/nginx1.17.0 --conf-path=/usr/local/nginx1.17.0/nginx.conf --with-http_stub_status_module --with-http_ssl_module

おすすめ

転載: blog.csdn.net/a159357445566/article/details/109085243