Только что установил сертификат StartSSL на мой сервер debian wheezy, nginx 1.6.
Кажется, все работает нормально, я могу без проблем просматривать веб-сайт по https, пока не попытаюсь войти в систему ...
IE работает нормально, и я могу войти в OK.
Chrome выдает мне эту ошибку: Код ошибки: ERR_SPDY_PROTOCOL_ERROR
Firefox просто зависает и ничего не делает.
Когда я отказываюсь от сертификата StartSSL и использую самоподписанный сертификат, все снова работает нормально, я могу без проблем войти в систему.
Моя конфигурация nginx:
server {
listen 443 ssl spdy;
server_name test.com;
root /home/www/test.com/;
ssl on;
ssl_certificate /etc/nginx/certs/test.com.crt;
ssl_certificate_key /etc/nginx/certs/test.com.key;
access_log /logs/access.log;
error_log /logs/error.log;
error_page 404 /404.html;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
..........
.........
}
Есть предложения, что может быть не так?
Я столкнулся с этой проблемой, потому что я сменил пользователя nginx, и у него не было доступа к / var / lib / nginx. Я решил проблему, выполнив команду chown'ing / var / lib / nginx для нового пользователя.
Добавление соответствующего заголовка Content-Type исправляет это.
["Content-Type"] = "text / html; charset = utf-8"
Если это поможет кому-то в будущем, так как это один из лучших результатов поиска, у меня была эта ошибка, но по причине, о которой я еще не упоминал.
Хотя это выглядело так, как будто виноват Nginx, у меня были другие сайты, нормально работающие с аналогичными конфигурациями на том же сервере. Оказалось, что на самом деле это была ошибка перенаправления заголовка PHP, один из наших программистов забыл поставить «Location:» перед адресом, который, похоже, сломал заголовок и вызвал эту ошибку в Chrome. Все остальные браузеры просто проигнорировали это.
Поскольку это была первая строка в index.php, она сломалась до того, как увидела какой-либо сайт, из-за чего казалось, что это влияет на весь сайт, но это была только эта страница.