РЕШЕНО! Letsencrypt. ssl в локальной сети-да, а из глобальной сети-нет соединения!
Во-первых, всем доброго времени суток и хочу вас поблагодарить за любую помощь!)) немного странная ситуация с которой уже несколько дней(недель) мучаюсь… проблема заключается в следующем: дано: 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 все работает супер и в локалке и глобалке)!
В общем у меня кончились идеи, от слова СОВСЕМ!!!Последняя надежда на Ваши советы !!!Всем хорошего дня!