web-dev-qa-db-ja.com

Nginx、セットアップhttps

NGINX ver1.4.7とPhusionPassenger4.0.41を使用してubuntuサーバーでhttpsをセットアップしようとしています。

これらの2つのコマンドを使用して.keyと.csrを作成しました

Sudo openssl genrsa -des3 -out server.key 2048
Sudo openssl req -new -key server.key -out server.csr

.csrをsslshopper.comの人に送信しました

3つのファイルを取得しました:

Root CA Certificate - AddTrustExternalCARoot.crt
Intermediate CA Certificate - USERTrustSecureServerCA.crt
Your COMODO SSL Certificate - subdomain_domain_com.crt

これは私のnginx.confが今どのように見えるかです

http {
    passenger_root /usr/local/rvm/gems/Ruby-2.1.1/gems/passenger-4.0.41;
    passenger_Ruby /usr/local/rvm/gems/Ruby-2.1.1/wrappers/Ruby;

server_names_hash_bucket_size 64;
include       mime.types;
default_type  application/octet-stream;

#access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

server {
    listen 443 default ssl;
    ssl on;
    ssl_certificate /opt/nginx/ssl/subdomain_domain_com.crt;
    ssl_certificate_key /opt/nginx/ssl/server.key;

    server_name app.petosevic.com; 
    root /var/www/petosevic/public; 
    passenger_enabled on;

   location / {
      # set X-FORWARDED_PROTO so ssl_requirement plugin works
      proxy_set_header X-FORWARDED_PROTO https;

          # standard Rails+mongrel configuration goes here.
   }
}}

また、サーバーを起動しようとすると、.keyファイルを作成したときに入力したパスワードを入力する必要があります。が受け入れられると、エラーが発生します。

nginx: [emerg] SSL_CTX_use_PrivateKey_file("/opt/nginx/ssl/server.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

正しい.csrファイルをsslshopper.comの人に送信したことは100%確信していますが、これは一致していないようです。

これについてどう思う?

4
Passenger

以下を使用して、証明書とキーのペアを手動で確認できます。

openssl x509 -noout -modulus -in subdomain_domain_com.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5

2つのコマンドの出力は同じである必要があります。これにより、有効なペアであることがわかります。

有効であるのにエラーが発生する場合は、 nginx-httpsサーバーの構成 の「証明書チェーン」のセクションを参照してください。 NGINXは、チェーンされた証明書が1つのファイルにあり、中間がサーバー証明書の後に連結されていることを想定しています。それらを間違った順序で持っている場合、それはあなたが得るエラーです。

6
rjewell