NginxはSSL証明書をインストールし、HTTPSプロトコルのプロセス全体を構成します

nginxサーバーに関しては、個人的には軽量で高性能なのが最大の特徴だと思います。いくつかの異なるサーバーでテストした後、その同時実行性が特に強力であることがわかり、比較的言えば、消費するメモリがはるかに少なくなります。これは現在、ほとんどのWebマスターに推奨されるHTTPおよびリバースプロキシサーバーです。エンタープライズサーバーの運用および保守サービスを含む、ウェブマスター自身のウェブサイトはNginxを使用しており、Apacheももちろん使用できます。

1. Nginx SSLモジュールのインストール

nginxがhttp_ssl_moduleモジュールをインストールするかどうかを確認します。

$ /usr/local/nginx/sbin/nginx -V

引数を構成する場合:–with-http_ssl_moduleが表示された場合、それはすでにインストールされています(次の手順をスキップしてnginx.conf構成を入力できます)。

Nginxインストールパッケージをダウンロードします。もちろん、Nginx公式Webサイトにアクセスしてダウンロードします。

インストールパッケージをsrcディレクトリにダウンロードします。

$ cd /usr/local/src
$ wget http://nginx.org/download/nginx-1.15.9.tar.gz

インストールパッケージを解凍します。

$ tar -zxvf nginx-1.15.9.tar.gz

SSLモジュールを構成します。

$ cd nginx-1.15.9
$ ./configure --prefix=/usr/local/nginx --with-http_ssl_module

makeコマンドを使用してコンパイルし(make installを使用するとnginxが再インストールされます)、objsフォルダーが現在のディレクトリに表示されます。

現在のnginxファイルを新しいnginxファイルで上書きします。

$ cp ./objs/nginx /usr/local/nginx/sbin/

インストールされたモジュールを再度確認します(引数を構成します。–with-http_ssl_moduleは、sslモジュールがインストールされていることを示します)。

$ /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.15.9
...
configure arguments: --with-http_ssl_module

2. SSL証明書の導入

Alibaba Cloudの無料証明書を使用しています有効期間は1年です。アプリケーションのアドレスはこちらです。

適用されたssl証明書ファイル圧縮パッケージをローカルにダウンロードして解凍します(ここで使用されるpemおよびキーファイル。ファイル名は変更できます)。

nginxディレクトリに新しい証明書フォルダを作成して、証明書ファイルを保存します。

$ cd /usr/local/nginx
$ mkdir cert

これらの2つのファイルをサーバーのcertディレクトリにアップロードします。
scpコマンドを使用して、ここでmac端末からサーバーにアップロードします(ここで新しい端末を開く必要があります。ウィンドウを使用してサーバーに接続しないでください)。

$ scp /Users/yourname/Downloads/ssl.pem [email protected]:/usr/local/nginx/cert/
$ scp /Users/yourname/Downloads/ssl.key [email protected]:/usr/local/nginx/cert/

scp [ローカルファイルパス。ファイルを直接ターミナルにドラッグできます] [<サーバーログイン名> @ <サーバーIPアドレス>:<サーバー上のパス>]

3、Nginx.conf構成

/usr/local/nginx/conf/nginx.conf設定ファイルを編集します:

httpsサーバーを構成します。以前のhttpサーバー構成をコメント化し、httpsサーバーを追加します。

server {
    # 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
    listen       443 ssl;
    # 域名,多个以空格分开
    server_name  hack520.com www.hack520.com;

    # ssl证书地址
    ssl_certificate     /usr/local/nginx/cert/ssl.pem;  # pem文件的路径
    ssl_certificate_key  /usr/local/nginx/cert/ssl.key; # key文件的路径

    # ssl验证相关配置
    ssl_session_timeout  5m;    #缓存有效期
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;    #加密算法
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    #安全链接可选的加密协议
    ssl_prefer_server_ciphers on;   #使用服务器端的首选算法

    location / {
        root   html;
        index  index.html index.htm;
    }
}

httpをhttpsにリダイレクトします。

server {
    listen       80;
    server_name  hack520.com www.hack520.com;
    return 301 https://$server_name$request_uri;
}

4番目に、nginxを再起動します

$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ポート80が使用されている場合は、kill [id]を使用してプロセスを終了します。

# 查看端口使用
$ netstat -lntp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      21307/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      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

または:

service nginx restart

おすすめ

転載: blog.csdn.net/wx_15323880413/article/details/108265072