Я получил RaspberryPi, на котором я хочу разместить Owncloud. Поэтому я следовал этому уроку, и он хорошо работает, кроме части SSL. Я не хочу использовать самоподписанный.
Я установил свой собственный поддомен, и он работает без ssl, также вне моей домашней сети. Я не пробовал самоподписанный сертификат.

Команда, которую я использовал, создала сертификаты (найденные в этом руководстве):

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"

файлы

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

В 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

После того, как я отправил содержимое .csr I на мой веб-хостер, я получил zip с 3 файлами:

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

Я перепробовал все 3 файла для значения ssl_certificate они не работают.
Так что я погуглил и нашел несколько источников, говорящих, что мне нужно объединить эти файлы в некотором порядке. (источник, источник, источник)

Но имена файлов в моей ситуации немного отличаются, и это просто сбивает с толку.
Некоторые источники говорят о файлах .crt некоторые о .pem но я получил .cert . Имеет ли значение расширение файла?

Кто-нибудь знает, как я должен установить (/ слияние?) эти файлы, чтобы мой сайт работал на ssl?
примечание: это первый раз, когда я работаю с nginx или ssl-сертификатами

2 ответа2

1

Попробуйте это: Настройка серверов HTTPS - цепочки сертификатов 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;
        ...
    }
0

Основной ошибкой стал модем от провайдера. После этого я понял, что это было:

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

В основном предлагается здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .