<div dir="ltr">а что-то банальное типа telnet на 443 порт ? curl, wget ?<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 20 окт. 2020 г. в 12:06, Zalman_ <<a href="mailto:nginx-forum@forum.nginx.org">nginx-forum@forum.nginx.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">imsystem Wrote:<br>
-------------------------------------------------------<br>
> Клиент, в роли браузера, должен знать о вашем центре сертификации. Вы <br>
> добавляли его сертификат в браузер?<br>
> <br>
> "Zalman_" <<a href="mailto:nginx-forum@forum.nginx.org" target="_blank">nginx-forum@forum.nginx.org</a>> 20 октября 2020 г. 08:07:44<br>
> написал:<br>
> <br>
> > Доброго времени суток!<br>
> ><br>
> > Нужна помощь по вопросу SSL шифрования.<br>
> ><br>
> > Объясню, что есть и что уже имеется.<br>
> ><br>
> > Основная задача – поднять RocketChat на локальном сервере и<br>
> обеспечить<br>
> > шифрование при доступе к локальному серверу из вне.<br>
> ><br>
> > Для этих целей использовал Ubuntu 18.04 LTS на виртуалке на сервере.<br>
> В<br>
> > качестве веб-сервера использовал Nginx - 1.14.0 (Ubuntu), а в<br>
> качестве СУБД<br>
> > использую MongoDB - db version v4.0.20. Использование Nginx и<br>
> MongoDB<br>
> > описано в мануале по установке RocketChat.<br>
> > Все это удалось сделать и все хорошо работает. То есть Nginx +<br>
> MongoDB +<br>
> > RocketChat хорошо работают как в локальной сети, так и из вне (с<br>
> помощью<br>
> > проброса портов). Однако не удается подключить SSL – сертификат. Так<br>
> как<br>
> > сервер поднимался локально (доступ из вне и локально осуществляется<br>
> через<br>
> > IP-адрес сервера и порт) и отсутствует какой-то домен, то получение<br>
> > SSL-сертификата от Let’S Encrypt является проблематичным, поэтому<br>
> выбрал<br>
> > самоподписанный SSL-сертификат на основе OpenSSL.<br>
> > Приватный ключ, сертификат, а также ключ Диффи-Хеллмана сделал.<br>
> Конфиги<br>
> > nginx.conf, а также конфиг в папке<br>
> > /etc/nginx/sites-available/rocketchat.conf настроил, однако по<br>
> каким-то<br>
> > причинам доступ к чату есть через HTTP, но нет через HTTPS.<br>
> ><br>
> > С этой темой сижу уже достаточно долго. Пробовал много способов и<br>
> много<br>
> > различных конфигов, но все равно не работает.<br>
> > Причем пробовал как с отключенным UFW, так и с включенным (разрешал<br>
> > подключение по портам 80, 443, *нужный мне порт*). Также в iptables<br>
> тоже<br>
> > разрешил 3 предыдущих порта, но эффекта ноль.<br>
> ><br>
> > А вот тут я приведу конфиги.<br>
> > /etc/nginx/nginx.conf<br>
> > user www-data;<br>
> > worker_processes auto;<br>
> > pid /run/nginx.pid;<br>
> > include /etc/nginx/modules-enabled/*.conf;<br>
> ><br>
> > events {<br>
> >        worker_connections 768;<br>
> >        # multi_accept on;<br>
> > }<br>
> ><br>
> > http {<br>
> >        ##<br>
> >        # Basic Settings<br>
> >        ##<br>
> >        #sendfile on;<br>
> >        tcp_nopush on;<br>
> >        tcp_nodelay on;<br>
> >        keepalive_timeout 65;<br>
> >        types_hash_max_size 2048;<br>
> >        # server_tokens off;<br>
> ><br>
> >        # server_names_hash_bucket_size 64;<br>
> >        # server_name_in_redirect off;<br>
> ><br>
> >        include /etc/nginx/mime.types;<br>
> >        default_type application/octet-stream;<br>
> ><br>
> >        ##<br>
> >        # SSL Settings<br>
> >        ##<br>
> >        ##<br>
> >        # Logging Settings<br>
> >        ##<br>
> ><br>
> >        access_log /var/log/nginx/access.log;<br>
> >        error_log /var/log/nginx/error.log;<br>
> ><br>
> >        ##<br>
> >        # Gzip Settings<br>
> >        ##<br>
> ><br>
> >        gzip on;<br>
> ><br>
> >        # gzip_vary on;<br>
> >        # gzip_proxied any;<br>
> >        # gzip_comp_level 6;<br>
> >        # gzip_buffers 16 8k;<br>
> >        # gzip_http_version 1.1;<br>
> >        # gzip_types text/plain text/css application/json<br>
> > application/javascript text/xml application/xml applicatio$<br>
> ><br>
> >        ##<br>
> >        # Virtual Host Configs<br>
> >        ##<br>
> ><br>
> >        include /etc/nginx/conf.d/*.conf;<br>
> >        include /etc/nginx/sites-enabled/*.conf;<br>
> > }<br>
> ><br>
> > #mail {<br>
> > #       # See sample authentication script at:<br>
> > #       # <a href="http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript" rel="noreferrer" target="_blank">http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript</a><br>
> > #<br>
> > #       # auth_http localhost/auth.php;<br>
> > #       # pop3_capabilities "TOP" "USER";<br>
> > #       # imap_capabilities "IMAP4rev1" "UIDPLUS";<br>
> > #<br>
> > #       server {<br>
> > #               listen     localhost:110;<br>
> > #               protocol   pop3;<br>
> > #               proxy      on;<br>
> > #       }<br>
> > #<br>
> > #       server {<br>
> > #               listen     localhost:143;<br>
> > #               protocol   imap;<br>
> > #               proxy      on;<br>
> > #       }<br>
> > #}<br>
> ><br>
> > /etc/nginx/sites-available/default.conf<br>
> ><br>
> > upstream backend {<br>
> >   server 127.0.0.1;<br>
> > }<br>
> ><br>
> > #HTTP<br>
> > server {<br>
> >        #Делаю конфиг согласно<br>
> > <a href="https://techlist.top/translation-nginx-to-https/" rel="noreferrer" target="_blank">https://techlist.top/translation-nginx-to-https/</a><br>
> >        listen 80;<br>
> >        server_name *IP локального сервера*;<br>
> >        return 301 https://$server_name$request_uri;<br>
> > }<br>
> ><br>
> > #HTTPS<br>
> > server {<br>
> >        #Порт, который будет слушать Nginx для SSL<br>
> >        listen 443 ssl http2;<br>
> ><br>
> >        #Имя сайта<br>
> >        server_name *IP локального сервера*;<br>
> ><br>
> >        #Корневая директория и индексный файл (ничего не менял)<br>
> >        root /var/www/html;<br>
> >        index index.html index.htm index.nginx-debian.html;<br>
> ><br>
> >        #Лог-файлы<br>
> >        access_log  /var/www/html/access_https.log;<br>
> >        error_log   /var/www/html/error_https.log;<br>
> ><br>
> >        #SSL-секция<br>
> ><br>
> >        #Сертификат и ключ<br>
> >        ssl_certificate /etc/ssl/certs/rccrt.crt;<br>
> >        ssl_certificate_key /etc/ssl/private/rckey.key;<br>
> ><br>
> >        #SSL-сессия<br>
> >        ssl_session_timeout 1d;<br>
> >        ssl_session_cache shared:SSL:50m;<br>
> >        ssl_session_tickets off;<br>
> ><br>
> >        #Diffie-Hellman ключ для DHE-шифров<br>
> >        ssl_dhparam /etc/ssl/certs/dhparam.pem;<br>
> ><br>
> >        #Используемые протоколы<br>
> >        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;<br>
> ><br>
> >        #Наборы шифров<br>
> >        ssl_ciphers '*набор шифров*';<br>
> ><br>
> >        #Приоритет серверных шифров<br>
> >        ssl_prefer_server_ciphers on;<br>
> ><br>
> >        #Включение HSTS (Strict-Transport-Security)(15768000 seconds<br>
> = 6<br>
> > месяцев)<br>
> >        add_header Strict-Transport-Security max-age=15768000;<br>
> ><br>
> >        resolver 8.8.8.8 8.8.4.4 valid=300s;<br>
> ><br>
> >       # server_name _;<br>
> ><br>
> >       location / {<br>
> >                # Параметры проксирования<br>
> >        proxy_send_timeout 600;<br>
> >        proxy_read_timeout 600;<br>
> >        proxy_buffer_size   128k;<br>
> >        proxy_buffers   4 256k;<br>
> >        proxy_busy_buffers_size   256k;<br>
> >        proxy_set_header Host      $host;<br>
> >        proxy_set_header X-Real-IP $remote_addr;<br>
> >        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br>
> >        proxy_set_header X-Forwarded-Proto $scheme;<br>
> >        proxy_set_header HTTPS YES;<br>
> >        # IP-адрес целевой площадки для проксирования<br>
> >        proxy_pass <a href="http://192.168.1.108" rel="noreferrer" target="_blank">http://192.168.1.108</a>;<br>
> >        }<br>
> ><br>
> >        # pass the PHP scripts to FastCGI server listening on<br>
> > <a href="http://127.0.0.1:9000" rel="noreferrer" target="_blank">127.0.0.1:9000</a><br>
> >        #<br>
> >        #location ~ \.php$ {<br>
> >        # include snippets/fastcgi-php.conf;<br>
> >        #<br>
> >        #       # With php7.0-cgi alone:<br>
> >        #       fastcgi_pass <a href="http://127.0.0.1:9000" rel="noreferrer" target="_blank">127.0.0.1:9000</a>;<br>
> >        #       # With php7.0-fpm:<br>
> >        #       fastcgi_pass unix:/run/php/php7.0-fpm.sock;<br>
> >        #}<br>
> ><br>
> >        # deny access to .htaccess files, if Apache's document root<br>
> >        # concurs with nginx's one<br>
> >        #<br>
> >        #location ~ /\.ht {<br>
> >        #       deny all;<br>
> >        #}<br>
> > }<br>
> ><br>
> > Далее делаю «копию» в папку sites-enabled<br>
> > sudo ln -s /etc/nginx/sites-available/default.conf<br>
> > /etc/nginx/sites-enabled/<br>
> ><br>
> > Проверяю синтаксис<br>
> > sudo nginx -t<br>
> > (на что получаю положительный ответ)<br>
> > nginx: the configuration file /etc/nginx/nginx.conf syntax is ok<br>
> > nginx: configuration file /etc/nginx/nginx.conf test is successful<br>
> ><br>
> > И последовательно делаю перезапуск Nginx<br>
> > sudo service nginx restart<br>
> > sudo systemctl restart nginx<br>
> ><br>
> > В итоге, набирая IP и порт и пытаясь подключиться по HTTPS, в Google<br>
> Chrome<br>
> > вижу ошибку ERR_CONNECTION_CLOSED. В чем может быть проблема?<br>
> ><br>
> > Posted at Nginx Forum: <br>
> > <a href="https://forum.nginx.org/read.php?21,289759,289759#msg-289759" rel="noreferrer" target="_blank">https://forum.nginx.org/read.php?21,289759,289759#msg-289759</a><br>
> ><br>
> > _______________________________________________<br>
> > nginx-ru mailing list<br>
> > <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> > <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
> <br>
> _______________________________________________<br>
> nginx-ru mailing list<br>
> <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
> <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
<br>
Нет, не добавлял<br>
Не делал этого по причине того, что из всех прочтенных мною статей этим<br>
никто не занимался<br>
Тем более мне кажется, что не в браузере дело (IE, Chrome, Yandex)<br>
До проверки сертификата дело даже не доходит, то есть нет всплывающего окна<br>
о том, что сертификат не проверен (если сертификат работает, то такое окошко<br>
появляется и либо ты переходишь дальне на сайт, либо нет). В моем же случае<br>
при переходе по https соединение с сервером обрывается, но при переходе по<br>
http все работает корректно<br>
<br>
Posted at Nginx Forum: <a href="https://forum.nginx.org/read.php?21,289759,289761#msg-289761" rel="noreferrer" target="_blank">https://forum.nginx.org/read.php?21,289759,289761#msg-289761</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div>