LINUX.ORG.RU

Сообщения Maxon4ik

 

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

Форум — General

Во-первых, всем доброго времени суток и хочу вас поблагодарить за любую помощь!)) немного странная ситуация с которой уже несколько дней(недель) мучаюсь… проблема заключается в следующем: дано: 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
()

RSS подписка на новые темы