Я пытаюсь настроить HTTPS для nginx в Ubuntu 16.04. Я уже настроил его с помощью listen 443 ssl
операторов и сказал ему, где найти файлы сертификата и закрытого ключа. После этого я перезапустил сервер с помощью sudo service nginx restart
.
Теперь, когда я заворачиваю https: // my_ip_address
, я получаю следующее сообщение:
curl: (35) gnutls_handshake() failed: Handshake failed
Я проверил два известных мне файла журнала, / var / log / nginx / access.log
и /var/log/nginx/error.log
; но он не показывает никаких следов запроса.
Мой вопрос: записывается ли что-нибудь в журнал, когда квитирование SSL не удается? Если да, то где? В общем, как мне решать подобные проблемы, когда в протоколе SSL возникает ошибка до того, как HTTP-запрос будет отправлен или извлечен сервером?
РЕДАКТИРОВАТЬ: Я заставил его работать, удалив следующие строки из моя конфигурация:
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;
Обновление: строка ssl_ecdh_curve secp384r1;
, похоже, вызывала проблему. Без него все работает нормально, но с ним не удается установить связь SSL. Любопытно, что сообщение об ошибке: " Мне было трудно найти ответ на этот вопрос, поэтому я подумал, что задам его вместо этого.
Я создаю небольшой скрипт CMS с PHP и хочу украсить свои URL. У меня нет проблем с отправкой запросов корневого уровня на мой index.php
в виде переменных; например, с example.com/index.php?p=about-us
до example.com/about-us
. Однако, не удаляя эту возможность, я хочу перенаправить запрос типа example.com/blog/a-post
на example.com/blog.php?b=a-post
. Как я могу добиться этого, чтобы это не потребовалось при перезаписи исходного индекса?
Я прошу прощения, если терминология, которую я использовал для описания моей проблемы, не совсем верна, прошло некоторое время с тех пор, как я занимался программированием, и я чувствую себя ржавым, как ад!
- Изменить -
Код, который у меня сейчас есть, приведен ниже:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+index\.php\?([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L,QSA]
Я хочу, чтобы у пользователя был доступ к URL-адресу
url.com/blog/a-post
Но я хочу, чтобы он действительно имел доступ к
url.com/blog.php?b=a-post
RewriteEngine On
RewriteRule ^work(.*)/([^/]*) work-single.php$1?slug=$2 [QSA]
работа - это псевдокаталог, а файл work-single.php - это файл, получающий запрос переменной
.