@i_want_to_know_everything

Http/2 nginx падает сервер?

ngnix 1.9.14
php-fpm
Ubuntu

конфиг
server {
    listen 80;
	server_name domain.com *.domain.com www.domain.com;
	return 301 https://$host$request_uri;
}

server {
    listen 443;
	server_name domain.com *.domain.com www.domain.com;
	charset UTF-8;
	disable_symlinks if_not_owner from=$root_path;
	index index.php;
	root $root_path/$subdomain;
	set $root_path /var/www/user_name/data/www;
	set $subdomain domain.com;
			if ($host ~* ^((.*).domain.com)$) {
				set $subdomain $1;
			}
	access_log /var/www/httpd-logs/domain.com.access.log ;
	error_log /var/www/httpd-logs/domain.com.error.log notice;
	include /etc/nginx/vhosts-includes/*.conf;
	location / {
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @php;
		}
                  try_files $uri $uri/ /index.php?q=$request_uri;
	}
	location @php {
		fastcgi_index index.php;
		fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@domain.com";
		fastcgi_pass unix:/var/www/php-fpm/user_name.sock;
		fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
		try_files $uri =404;
		include fastcgi_params;
	}
	ssi on;
	add_header Strict-Transport-Security "max-age=31536000;";
	ssl on;
	ssl_certificate "/var/www/httpd-cert/user_name/domain.com.crtca";
	ssl_certificate_key "/var/www/httpd-cert/user_name/domain.com.key";
	ssl_ciphers HIGH:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2;
	ssl_prefer_server_ciphers on;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
}


пытюсь включить http/2
меняю listen 443 на listen 443 ssl http2
сервер падает с ошибкой [emerg] 1466#1466: bind() to 0.0.0.0:443 failed (98: Address already in use)
В чем может быть дело?

netstat -nlpt возвращает следующее
Active Internet connections (only servers)
Proto Recv-Q Send-Q                       Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22                      0.0.0.0:*               LISTEN      504/sshd
tcp        0      0 0.0.0.0:25                      0.0.0.0:*               LISTEN      863/exim4
tcp        0      0 0.0.0.0:443                    0.0.0.0:*               LISTEN      912/nginx.conf
tcp        0      0 100.100.100.100:1500    0.0.0.0:*               LISTEN      908/ihttpd accept
tcp        0      0 0.0.0.0:993                    0.0.0.0:*               LISTEN      511/dovecot
tcp        0      0 0.0.0.0:995                    0.0.0.0:*               LISTEN      511/dovecot
tcp        0      0 127.0.0.1:3306              0.0.0.0:*               LISTEN      587/mysqld
tcp        0      0 0.0.0.0:587                   0.0.0.0:*               LISTEN      863/exim4
tcp        0      0 0.0.0.0:110                   0.0.0.0:*               LISTEN      511/dovecot
tcp        0      0 0.0.0.0:143                   0.0.0.0:*               LISTEN      511/dovecot
tcp        0      0 0.0.0.0:80                    0.0.0.0:*               LISTEN      912/nginx.conf
tcp        0      0 0.0.0.0:465                   0.0.0.0:*               LISTEN      863/exim4
tcp6       0      0 :::22                               :::*                    LISTEN      504/sshd
tcp6       0      0 :::25                                :::*                    LISTEN      863/exim4
tcp6       0      0 :::587                              :::*                    LISTEN      863/exim4
tcp6       0      0 :::465                              :::*                    LISTEN      863/exim4
tcp6       0      0 :::21                               :::*                    LISTEN      983/proftpd: (accep
  • Вопрос задан
  • 788 просмотров
Решения вопроса 1
Убей listen 443, запусти nginx, он мог подвиснуть
Патчил для http/2 вообще?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
selivanov_pavel
@selivanov_pavel
Linux admin
Посмотри netstat -nlpt, может на 443 старый процесс висеть остался
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы