Я использую веб-сервер debian squeeze с nginx, и я не могу заставить работать SSL. Ошибка, которую я получаю не от apache, а от клиентского веб-браузера с «ошибкой тайм-аута подключения».
Я приобрел сертификат SSL в StartSSL, и когда это не помогло, я попытался создать свой собственный просто для устранения неполадок. Оба дали одну и ту же ошибку, и ни один из них не работал, и мой журнал nginx ничего не показывает.
Моя конфигурация SSL выглядит так:
server {
listen 443 default_server ssl;
server_name tarror.org www.tarror.org;
ssl on;
ssl_certificate /srv/ssl/nginx.pem;
ssl_certificate_key /srv/ssl/nginx.key;
root /wdata/tarror.org;
index index.php index.htm index.html;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /wdata/tarror.org$fastcgi_script_name;
include fastcgi_params;
}
}
Откройте порт 443 в брандмауэре вашего веб-сервера.
Я сначала попробую взять ssl on;
line out, поскольку это устарело, поскольку nginx 1.15.0
. Имея ssl
в listen
line делает то же самое.
Из документации Nginx:
Syntax: ssl on | off;
This directive was made obsolete in version 1.15.0.
The ssl parameter of the listen directive should be used instead.
Эта статья сработала для меня с использованием самоподписанных сертификатов в Ubuntu:
http://www.networkinghowtos.com/howto/configure-nginx-to-use-ssl-certificates/
Здесь показан синтаксис конфигурации, необходимый для SSL на основе разных версий nginx.
Убедитесь, что Nginx прослушивает порт 443, используя netstat -an
. Также убедитесь, что у вас нет правил брандмауэра / iptables, которые могут блокировать порт 443.