0.上司にドメイン名を購入してもらいます。まだ持っていない場合は、ドメイン名なしでhttpsを置くことはできません。 購入後、サーバーのコントロールパネルにNSレコードとAレコードを登録することを忘れないでください。
1. SSL証明書のボスをnic.ruに送信し、 そこで彼にthawte 123証明書を購入させます。その間、CSRリクエストを生成します。
2. SSHを介してサーバーにアクセスし、次のように記述します。
openssl genrsa -out private.key 2048
3.次の行でCSRリクエストを作成します。
、およびwhoisサービスを介して情報(会社名、メールなど)を取得します(すべてを自分で確認できる場合は、再度上司に尋ねます)。openssl req -new -sha256 -key private.key -out csr.csr
4.この時点で、上司は、作成したばかりのCSRリクエストが必要な段階に達しました。 サーバーとコマンドにSSHで接続するように彼に伝えます
コードをコピーし、必要な場所に貼り付けました。cat csr.csr
5.その後、上司はadmin@our-domain.comのようなメールを作成して、ドメインの所有権を確認するように依頼します。 これを行うには、Yandexのサービス「ドメイン宛メール」を使用します。 そこでメールを作成し、上司のユーザー名/パスワードを通知します。
6.バンドルされたPEM証明書を作成します。 上司は、証明書がPEM形式であるthawteからの手紙を転送する必要があります。 崇高なテキストを開き、この証明書をそこに貼り付けるとともに、 中間証明書をthawte Webサイトからダウンロードし、同じファイルに貼り付けて/etc/nginx/certificate_bundled.crtに保存する必要があります。 注意! 最初に上司が私たちに送ったものが来て、そのときだけ-そのリンクからダウンロードした中間証明書。
7.秘密鍵を同じコマンドにコピーします
mv private.key /etc/nginx/private.key
8. /etc/nginx/nginx.conf構成を開き、 「nginxでのHTTPSサーバーの構成」の資料の指示に従って構成します 。 つまり、httpセクションの/etc/nginx/nginx.confに登録する必要があります
ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; ssl_stapling on; resolver 8.8.8.8;
次に、サーバーセクションの/etc/nginx/conf.d/example_ssl.confで:
server { listen 443 ssl; server_name www.site.ru; root /var/www/html/web/; # root, - index index.php index.html; set $yii_bootstrap "index.php"; # yii, location / { # Define the index index index.html $yii_bootstrap; try_files $uri $uri/ /$yii_bootstrap?$args; } # Any of the protected directories, we will ignore. There is no reason # to share out the protected web spaces location ~ ^/(commands|components|config|controllers|models|vendor|views) { deny all; } #avoid processing of calls to unexisting static files by yii location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; } ....... keepalive_timeout 60; ssl_certificate certificate_bundled.crt; ssl_certificate_key private.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "RC4:HIGH:!aNULL:!MD5:!kEDH"; add_header Strict-Transport-Security 'max-age=604800'; ....... location ~ \.php$ { ....... fastcgi_param HTTPS on; # php-fpm ....... } }
9.次のコマンドで秘密鍵のパスワードを無効にします。
openssl rsa -in /etc/nginx/private.key -out /etc/nginx/private.key
10.次のコマンドでnginxを再起動します
そして-出来上がり!nginx -s reload