Questão Qual arquivo adicionar ao certificado nginx


Eu tenho um RaspberryPi em que eu quero hospedar Owncloud. Então eu segui este tutorial e funciona bem, exceto a parte SSL. Eu não quero usar auto assinado.
Eu configurei meu próprio subdomínio e ele funciona sem SSL, também fora da minha rede doméstica. Eu não tentei o certificado auto-assinado.

O comando que eu usei criou os certificados (encontrados neste tutorial):

sudo openssl req -new -newkey rsa:4096 -nodes -out /etc/nginx/cert/my_example_com.csr -keyout /etc/nginx/cert/my_example_com.key -subj "/C=NL/ST=none/L=none/O=none/OU=none/CN=my.example.com"

arquivos

  • /etc/nginx/cert/my_example_com.csr
  • /etc/nginx/cert/my_example_com.key

No nginx: / etc / nginx / sites-available / default

## other stuff from tut
server {
    listen 80;
    server_name my.example.com;
    return 301 https://$server_name$request_uri; # enforce http
}

server {
    listen 443 ssl;
    server_name my.example.com;

    ssl_certificate /etc/nginx/cert/my_example_com.csr;
    ssl_certificate_key /etc/nginx/cert/my_example_com.key;
## other stuff from tut

Depois que eu enviei o .csr conteúdo eu para o meu webhoster eu recebi um zip com 3 arquivos:

  • my_example_com.cert
  • CA_Root.cert
  • CA_Intermediate.cert

Eu tentei todos os 3 arquivos para o ssl_certificate valor eles não funcionam.
Então eu pesquisei e encontrei várias fontes dizendo que eu precisava mesclar esses arquivos em alguma ordem. (fonte, fonte, fonte)

Mas os nomes dos arquivos na minha situação são todos um pouco diferentes e é confuso.
Algumas fontes falam sobre .crt arquivos alguns sobre .pem mas eu peguei .cert. A extensão do arquivo é importante?

Alguém sabe como eu devo definir (/ mesclar?) Esses arquivos para fazer o meu site funcionar em SSL?
nota: Esta é a primeira vez que trabalho com certificados nginx ou ssl


0


origem




Respostas:


Tente isto: Configurando Servidores HTTPS - Cadeias de Certificados SSL

    $ cat www.example.com.crt bundle.crt > www.example.com.chained.crt

The resulting file should be used in the ssl_certificate directive:

    server {
        listen              443 ssl;
        server_name         www.example.com;
        ssl_certificate     www.example.com.chained.crt;
        ssl_certificate_key www.example.com.key;
        ...
    }

1



Erro de digitação no encadeamento: bundle.crt deve ler CA_Intermediate.crt
Tenho a impressão de que você não leu toda a minha pergunta. Eu não tenho bundle.crt Arquivo. - janw


A falha principal foi o modem do ISP. Depois disso, descobri que era:

sudo cat my_example_com.cert CA_Intermediate.cert CA_Root.cert >> bundle.cert

Sugerido principalmente Aqui


0