LINUX.ORG.RU

РЕШЕНО! Letsencrypt. ssl в локальной сети-да, а из глобальной сети-нет соединения!

 , , , ,


0

2

Во-первых, всем доброго времени суток и хочу вас поблагодарить за любую помощь!)) немного странная ситуация с которой уже несколько дней(недель) мучаюсь… проблема заключается в следующем: дано: ubuntu 20.04, nginx 1.17.10, php7.4, домен зареган на reg.ru(в DNS записях ссылается на мой сервер), ip постоянный

Значит необходим мне был сайт на wordpress, поэтому я все необходимые пакеты установил и все завелось, то есть и через ноут который внутри локалки(это важно) и через телефонный инет сайт виделся.

И тут я решил прикрепить ssl от letsencrypt. Решил все сделать через Certbot, прекрасная вещь и ничего сложного, ну как мне казалось на тот момент)…

В итоге я мучился-мучился потому что Certbot не правильно настраивал и решил что сертификаты я просто получу и потом пропишу их в конфиги! В итоге получилось что сертификат встал и делает редирект с http на https, то есть допустим в ноуте, который в (!!!)локальной сети(!!!), я ввожу site.com я попадаю на https[:]//site.com, короче все отлично работает, но если я ввожу тот же сайт на любом другом устройстве которые не в локалкьной сети, то браузер мне выдает что «ошибка соединения с сервером». Если все что касается ssl сертификата закоментировать, то все снова приходит в норму и по http все супер работает и через мобильный инет и через локальную сеть я получаю доступ к сайту…. в логах нет ничего, в роутере ничего не заблокировано, порты проброшены потому что сервер за NAT, фаервол выключен, у провайдера все открыто,ip белый.

конфиг /etc/nginx/sites-available/site.com

# СЕКЦИЯ 1
# Запрет на обращение к серверу по ip-адресу
server {
        listen 80 default_server;
        server_name _;
        return 444;
}

# СЕКЦИЯ 2
# Редирект с www на основное доменное имя
server {
    listen 80;
    server_name www.site.com;
    return 301 http://site.com$request_uri;
}


# СЕКЦИЯ 3
server {
        listen   80;
        root /var/www/site.com;
        index index.php;
        server_name  site.com;

        include snippets/well-known;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }


        rewrite /wp-admin$ $scheme://$host$uri/ permanent;


        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;



        location = /50x.html {
                root /usr/share/nginx/www;
        }


        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }


        # Запрещаем доступ к скрытым файлам
        location ~ /\. {
                deny all;
        }

        # Запрещаем доступ к файлам .php в директории uploads
        location ~* /(?:uploads|files)/.*\.php$ {
                deny all;
        }


        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}



# СЕКЦИЯ 4 SSL
#server {
#       listen 443 ssl http2;
#       server_name site.com www.site.com;
#       root /var/www/site.com;
#       index index.php index.html;

#       if ($host != "site.com") {
#               return 301 https://site.com$request_uri;
#       }

#       include snippets/well-known;

#       ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
#       ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
#       ssl_trusted_certificate /etc/letsencrypt/live/site.com/chain.pem;
#       ssl_dhparam /etc/ssl/certs/dhparam.pem;

#       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#       ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-S>
#       ssl_prefer_server_ciphers on;
#       ssl_stapling on;
#       ssl_stapling_verify on;
#       resolver 8.8.8.8 8.8.4.4 valid=300s;
#       resolver_timeout 30s;

#       access_log /var/log/nginx/site.com.access.log;
#       error_log /var/log/nginx/site.com.error.log;

#       client_max_body_size 100M;

#       autoindex off;




#location / {
#               try_files $uri $uri/ /index.php?$args;
#       }


#       rewrite /wp-admin$ $scheme://$host$uri/ permanent;


#       error_page 404 /404.html;
#       error_page 500 502 503 504 /50x.html;



#       location = /50x.html {
#               root /usr/share/nginx/www;
#       }


#       location = /favicon.ico {
#               log_not_found off;
#               access_log off;
#       }

#       location = /robots.txt {
#               allow all;
#               log_not_found off;
#               access_log off;
#       }


        # Запрещаем доступ к скрытым файлам
#       location ~ /\. {
#               deny all;
#       }
        # Запрещаем доступ к файлам .php в директории uploads
#       location ~* /(?:uploads|files)/.*\.php$ {
#               deny all;
#       }


#       location ~ .php$ {
#       try_files $uri =404;
#       fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
#       fastcgi_index index.php;
#       fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#       include fastcgi_params;
#       }
#}

1,2,3 секция для http, для https 1,2,4 секция

/etc/nginx/snippets/well-known

location ^~ /.well-known/acme-challenge/ {
  allow all;
  root /var/lib/letsencrypt/;
  default_type "text/plain";
  try_files $uri =404;
}

В итоге когда работает SSL(заветный зеленый замочек) я вижу сайты только внутри локальной сети, но стоит только вернуть все в HTTP все работает супер и в локалке и глобалке)!

В общем у меня кончились идеи, от слова СОВСЕМ!!!Последняя надежда на Ваши советы !!!Всем хорошего дня!



Последнее исправление: Maxon4ik (всего исправлений: 1)
Ответ на: комментарий от peregrine

Такое ощущение что нет, или что-то его блокирует, но нет, все открыто и проброшено!В роутере так точно, а на сервере firewall даже не включён, но я же не первый раз эту проблему не могу решить…и до этого было что я даже специально разрешал входящие на 443 порт и тоже не помогло!

Maxon4ik
() автор топика
Ответ на: комментарий от peregrine

Да, я тоже об этом подумал и поэтому вчера их набрал… но как и ожидалось мне ответили отрицательно!

Maxon4ik
() автор топика

ssl_ciphers 'bla:bla-S>

это не опечатка?
сделай nginx -t

в логах сервера про подключение что-нибудь есть? может есть смысл запустить в дебаге и посмотреть?

что говорит клиент:
openssl s_client -connect site.com:443

bass ★★★★★
()
Последнее исправление: bass (всего исправлений: 1)
Ответ на: комментарий от bass

Когда подключаюсь внутри локальной сети, то все логи подключения идут(tcpdump тоже смотрел–внутри локалки все пакеты проходят, все устройства которые подключаются тоже видны), как только беру в руки телефон и пробую подключиться через мобильный инет-ничего не идет, нет логов(в tcpdump тоже нет), и выдает ошибку в браузере что нет соеденения с сайтом, но стоит включить WIFi на телефоне и все логи снова пошли

nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

openssl s_client -connect site.com:443

CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = site.com
verify return:1
---
Certificate chain
 0 s:CN = site.com
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFYjCCBXXXXXIBAgISA5Z+HULrVCqIIApKiomPPom9MA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA1MDExNzEwNTVaFw0y
MDA3MzAxNzEwNTVaMBcxFTATBgNVBAMTDG9ucmV2ZXJzZS5ydTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBANHETJR1WbnCGnDUMEIXD6r2oFW0cfzlXy4R
aVETu6rtJwWZ8n9nYEfSb2mJm6JmcRmHeZmzD7A7d948wBLisL/HGoM0honUb29m
grDDDXUUJeVDmAdkcMo4nGczQq2H1D8Fw9BxppwctM6xZVGfXBBm9MY1GMwgIZIA
kJmOI2NAVygM+GhoH14E0DvOFLWRPLivaBEMOgXWXXXXXXSLhjHpuFCTbH7tJijR
wHC0XpbB7T5//O45tQDWkyn1OQcZzrhiEGoomALVsanxoH2qhXmFXn3qJNXS7C9+
XcFrh88hhOI1ns9WbpgzNOX/ztKtvLXZFaTaRegpv3FgpM8B7NsCAwEAAaOCAnMw
ggJvMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH
AwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUZmEzUYVtzkDTUoVknsncuqFrW+Aw
HwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEEYzBh
MC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQub3Jn
MC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQub3Jn
LzApBgNVHREEIjAgggxvbnJldmVyc2UucnWCEHd3dy5vbnJldmVyc2UucnUwTAYD
VR0gBEUwQzAIBgZngQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYa
aHR0cDovL2Nwcy5sZXRzZW5jcnlwdC5vcmcwggEEBgorBgEEAdZ5AgQCBIH1BIHy
APAAdQDwlaRZ8gDRgkAQLS+TiI6tS/4dR+OZ4dA0prCoqo6ycwAAAXHRbyp1AAAE
AwBGMEQCIHiH3JGVu9kI/KHeVJvVGAwQ7LX5Kdx1C992CB1dERveAiB1Qnxb+EfE
BjJeF2x6N9eVIYDs4XXXXXs9yilzFrBzewB3ALIeBcyLos2KIE6HZvkruYolIGdr
2vpw57JJUy3vi5BeAAABcdFvKmkAAAQDAEgwRgIhAIN3sXBKDlKh5Yxu0vsnRDlu
n59FgitxBhwT4/qOp/gUAiEAwO0rZR+dihy9pTsahh5FDiuwsIX7mQlP40dZYBHw
FZ0wDQYJKoZIhvcNAQELBQADggEBAG1I2l5geqH0JkLxUMf8HFBLYJAbTdnbvKlS
amR/OGdLkfn1LvzrCuL1JYi/8twV7U8pneEJ6OeE1YCcvHa0ctjZTiD0M6yUBwA+
rRgZQuGtDsthhzxfPUPzg499+1hUwOUr+OvvTZJLWCgT3vZR8ZUrKHbQzPCrowO7
Dzq5GiZPa713r+rSbakLBoYzKbE+vBbQiTKPBEO3roAn8wHR/rOmOhBuv0CrUhSU
H+d9ipF+7N37k+nwNXpv1R/LfKFIcoshzVWkuzejub+rBn9cYmBfuZzLViDb+Dbc
V+5lPdmujpaKKbM0qPHcZtbGrglgDfaTYQmCaeN2UT79eeZd3WY=
-----END CERTIFICATE-----
subject=CN = site.com

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3212 bytes and written 389 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-CHACHA20-POLY1305
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-CHACHA20-POLY1305
    Session-ID: 3034B2BE3B8A9FBBEB3AE69CA6B3532EE31C5817E80172939BB59257B6E8E266
    Session-ID-ctx:
    Master-Key: 4E53C9519A965CBBC90930CCC22C48D2D872B4A66BF31A5B291A15F288BA3296C88A11A6CB861F91E5BF92F2271D8D81
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 33 b8 42 dc b8 c1 4b 4a-27 19 91 f4 c0 9f d1 98   3.B...KJ'.......
    0010 - 55 f1 21 08 e3 e1 1x bf-94 49 18 01 85 2a 63 31   U.!......I...*c1
    0020 - 40 43 6f 74 9e 9a 9c fd-bc 73 74 94 4b f7 8e 1b   @Cot.....st.K...
    0030 - 35 76 18 20 bv c4 38 89-85 c6 87 07 74 68 1e 23   5v. ..8.....th.#
    0040 - f0 b5 15 08 53 8c c4 5b-d2 25 33 3e d7 b1 53 5f   ....S..[.%>>..S_
    0050 - f2 a8 ff df 15 8d 2d e6-a4 12 b0 1f 49 d2 98 dd   ......-.....I...
    0060 - cb 20 e4 f4 c7 c0 33 95-4a d8 46 aa da 77 09 9d   . ....3.J.F..w..
    0070 - 86 da bb 41 59 03 69 26-4f 0a f3 85 2d ad 8d ee   ...AY.i&O...-...
    0080 - 12 44 42 30 d4 dc 24 eb-cc 03 a2 63 52 05 c9 11   .DB0..$....cR...
    0090 - 0d e0 64 d5 c9 a6 f4 bd-f8 92 bc bc 54 b7 d8 8a   ..d.........T...
    00a0 - a9 82 4b 04 ec 4a 28 00-98 b2 7d e8 7a 0c 0a b0   ..K..J(...}.z...
    00b0 - 8f d1 1a 3r 0a c0 b3 c0-ad d7 70 15 ea 1c 92 57   ...1......p....W

    Start Time: 1588419021
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: yes
---

Maxon4ik
() автор топика
Ответ на: комментарий от Maxon4ik

если это поможет, я могу дать доступ по ssh к этому тестовому серверу

Maxon4ik
() автор топика
Ответ на: комментарий от bass

К сожалению нет логов из вне, пока включен ssl, но стоит перевести все соединение на http, то логи появляются. команда выше была выполнена с самого сервера

Maxon4ik
() автор топика
Ответ на: комментарий от Maxon4ik

У тебя не работает извне, поэтому локальная диагностика доступности 443 порта и что-там за ним - ненужна.

Сделай извне openssl s_client -connect site.com:443

bass ★★★★★
()
Ответ на: комментарий от Maxon4ik

раз у тебя всё ок, то борись с провом

bass ★★★★★
()
Ответ на: комментарий от Maxon4ik

Наконец-то поборол эту проблему!

хочется логически закончить и даже возможно кому-то помогу)))

проблема действительно была в провайдере, и действительно они блокируют порты, и действительно звонить операторам бестолку!

вообщем проблема, как оказалось, решалась достаточно быстро и просто(как и всегда блин) в личном кабинете билайна, в разделе домашнего интернета есть бесплатная услуга ##Защита от интернет-атак (Firewall)## заходите туда и отключаете защиту к чертям, после этого вам нужно будет подождать минуть 15-30 и после этого ожидания разорвать сессию т.е тупо выключить роутер(1 минуты будет вполне достаточно) и затем включить….

и вуаля… все порты теперь у вас открыты, а если нет, то тут уже копайтесь сначала в роутере, потом в машине на которой сайт/приложение/базы не важно…. всем спасибо и всем удачи!)))

Maxon4ik
() автор топика
9 января 2022 г.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.