SSL モジュールがインストールされているかどうかを確認します:
cd /usr/local/nginx/sbin ./nginx -V
[root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 sbin]# ./nginx -V nginx version: nginx/1.21.4 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) configure arguments: --prefix=/usr/local/nginx
configure 引数が表示されない場合: --with -http_ssl_module 説明 インストールされていません。
cd /usr/local/nginx-1.21.4 ./configure --prefix=/usr/local/nginx --with-http_ssl_module make cp ./objs/nginx /usr/local/nginx/sbin/
ssl モジュールがインストールされているかどうかを再確認します:
cd /usr/local/nginx/sbin ./nginx -V
[root@server-c00ef8c3-710d-4708-9cde-2c864e7c03e2 sbin]# ./nginx -V nginx version: nginx/1.21.4 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
適用された ssl 証明書を cert ディレクトリにコピーします:
cd /usr/local/nginx/conf vi nginx.conf
https サーバー構成を追加します:
#管理端https server { listen 443 ssl; server_name admin-xxxxx.xxx.xxx; ssl_certificate ../cert/server.crt; ssl_certificate_key ../cert/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://localhost:10003; } }
/usr/local/nginx/sbin/nginx -s reload
または
ps -ef|grep nginx kill xxx /usr/local/nginx/sbin/nginx
を再起動します。 補足: ポート 80 が占有されている場合は、kill [id] を使用してプロセスを終了します:
# 查看端口使用 $ netstat -lntp
アクティブなインターネット接続 (サーバーのみ)
Proto Recv-Q Send-Q ローカル アドレス外部アドレス状態 PID/プログラム名
tcp 0 0 0.0.0.0:80 0.0。 0.0 : リッスン 21307/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0: リッスン 3072/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0??? ? LISTEN 21307/nginx: master
# 80 ポート プロセスを終了します
$ kill 21307
再度 nginx を再起動します:
$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
以上がhttps を実装するために ssl を実装するように Nginx を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。