nginxの設定自己署名HTTPS

HTTPS nginxの設定は、テストを容易にするために、我々は自己署名証明書を使用することができ、証明書を発行したCAを必要とします

自己署名証明書を生成する方法1. 私たちは、民間と公共サービスとクライアントのために準備する必要があります:1.1:

//生成服务器端私钥
openssl genrsa -out server.key 1024 //生成服务器端公钥 openssl rsa -in server.key -pubout -out server.pem 

1.2:生成CA証明書

// 生成 CA 私钥
openssl genrsa -out ca.key 1024 openssl req -new -key ca.key -out ca.csr 

注意:上記のコマンドの実装は、あなたはlocalhostを書くことができ、あなたが直接スキップ入力し、それがローカルの場合一般名は提案は、あなたのドメイン名を記入することができ、以下の項目を記入する必要があります。

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:这个是你的域名 Email Address []: 

生成されたCA証明書

openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

1.3:サーバー証明書を生成します

//服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件
openssl req -new -key server.key -out server.csr //向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书 openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt 

1.4:CERファイルの生成

//使用openssl 进行转换
openssl x509 -in server.crt -out server.cer -outform der 

2. nginxのを設定し、我々はCA署名付き証明書、nginxの構成に必要な証明書を取得した後。まず、nginxの次には、以下の構成nginxの設定を追加したディレクトリに設定ファイルのコピーををserver.crtとserver.keyのだろう。

server {
        listen       443 ssl;
        server_name  你的域名;
        charset utf-8; ssl on; ssl_certificate server.crt; ssl_certificate_key server.key; location / { root html; index index.html index.htm; } } 

現在、私たちはテストページのHTTPSは歓迎なので、デフォルトの場所を使用しました。自分の小さなパートナーを拡大する必要性は、設定を変更することができます。最後に、訪問、nginxのを再起動します。https://あなたのドメイン名を、あなたはウェルカムページを表示することができます。

注:多くの場合、Webサイトへのアクセス先頭にHTTPSを追加する気にしないときが、ドメイン名を入力する直接アクセスが、これはデフォルトのブラウザのHTTPリクエストで、ユーザーが直接ドメイン名を入力できるようにどのようにHTTPSリクエストへのアクセスですか?方法1:HTTPはすべてhttpsに要求をリダイレクト

server { 
        charset utf-8;
        listen 80; 
        server_name 你的域名;
        rewrite ^(.*) https://$host$1 permanent;
    }

方法2:サイトがHTTPSのみへのアクセスを可能にすると、HTTPステータスコード497は、httpsにリダイレクトさerror_page方法を使用してアクセス報告されます

server {
        listen       443 ssl;
        listen       80;
        server_name  localhost;
        charset utf-8;

        ssl on;
        ssl_certificate      server.crt;
        ssl_certificate_key  server.key;

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

        error_page 497  https://$host$uri?$args;
    }

方法3:最初のブラウザを使用して、HTMLテキスト、名前のhttps.htmlを構築

<html>  
<meta http-equiv="refresh" content="0;url=https://你的域名/"> </html> 

第二に、その後、HTMLに監視サーバ80のポートへのアクセスを設定します。

server { 
        charset utf-8;
        listen 80; 
        server_name 你的域名;
        location / {
            root html;
            index https.html;
        }
        error_page 404 https://你的域名/;
    }

より効果的なプロのテストモード、ジュニアパートナーは、実際の状況に応じて使用することができます。

おすすめ

転載: www.cnblogs.com/surplus/p/11423201.html