Назад | Перейти на главную страницу

Как завершить цепочку сертификатов на последнем узле

Я веду свой собственный RocketChat последняя версия на Docker. И вдобавок ко всему у меня есть Nginx как обратный прокси работает Certbot сделать https. Он отлично работает с веб-браузером Firefox на Android и Chrome на OS X. Однако когда я использую собственное мобильное приложение Android. Я не могу подключиться к своему серверу.

Я нашел выпуск с тем же сообщением об ошибке. Заключение связано с сертификатом. Поэтому я проверяю свой собственный сервер, и он ROOT 1 missing. После прочтения статья. У меня 2 вопроса

Конфигурация Nginx:

upstream chat {
  server localhost:3000;
}

server {
    listen 80 ;
    listen [::]:80 ;
    server_name chat.elcolie.com ;

    root /var/www/html;
    location ~ /.well-known{
        allow all;
    }
    location / {
       return 301 https://$server_name$request_uri;
    }
}

server {
    listen 443 ssl ;
    listen [::]:443 ssl;
    include snippets/ssl-elcolie.com.conf;
    include snippets/ssl-params.conf;

    server_name chat.elcolie.com;

    location / {
            proxy_pass                 http://chat;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forward-Proto http;
            proxy_set_header X-Nginx-Proxy true;

            proxy_redirect off;
    }
}

/etc/nginx/snippets/ssl-elcolie.com.conf

ssl_certificate /etc/letsencrypt/live/elcolie.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/elcolie.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/elcolie.com/chain.pem;

/etc/nginx/snippets/ssl-params.conf

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# disable HSTS header for now
#add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
#add_header X-Frame-Options DENY;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;

ssl_dhparam /etc/ssl/certs/dhparam.pem;

Попытка:

Добавление fullchain.pem по letsencryptauthorityx3.pem затем sslchecker верни мне то же самое. Root 1 missing Мой сервер chat.elcolie.com

Попытка2:

Скачать сертификат DST Root CA X3 в p7b формат И извлечь по команде в bcarroll ответ

Завтра я найду Android и iOS, чтобы подтвердить эту настройку

Проблема:

Rocket.Chat Android не может войти на мой сервер

Вопросы:

  1. Как заставить мобильное приложение Android работать с моим сервером?

  2. Нужно ли мне покупать другой сертификат для решения этой проблемы?

Вам необходимо скачать и установить этот корневой сертификат на сервере. Другой сертификат получать не нужно.

Дело в том, что корневой сертификат Let's Encrypt не входит (обычно) в некоторые ОС, но подписан другими надежными центрами сертификации.