Nginx, configuração https

4

Estou tentando configurar https no meu servidor Ubuntu com o NGINX ver 1.4.7 e o Phusion Passenger 4.0.41.

Eu criei .key e .csr usando esses dois comandos

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

e enviei o .csr para o sslshopper.com pessoal

Tem 3 arquivos:

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

É assim que o meu nginx.conf está agora

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.
   }
}}

E quando tento iniciar o servidor, preciso digitar a senha que inseri quando criei o arquivo .key. Quando for aceito, estou recebendo o erro:

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)

Tenho 100% de certeza de que enviei o arquivo .csr correto para o sslshopper.com, mas parece que eles não são compatíveis.

O que você acha disso?

    
por Passenger 07.05.2014 / 23:16

1 resposta

6

Você pode verificar o certificado / par de chaves manualmente usando:

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

A saída dos dois comandos deve ser a mesma. Isso lhe dirá que é um par válido.

Se for válido, mas você receber esse erro, dê uma olhada na seção "cadeias de certificados" em nginx - configurando servidores https . O NGINX espera que um certificado encadeado esteja em um arquivo, com o intermediário concatenado após o certificado do servidor. Se você os tiver na ordem errada, esse será o erro que você receberá.

    
por 07.05.2014 / 23:37