@html_student
Молодой и глупый.

Можно ли оптимизировать данный конфиг?

Есть такой конфиг для сайта

server {
	listen 80;
	# listen [::]:80;
	server_name site.ru www.site.ru;

    access_log /var/log/nginx/site.ru-access.log main buffer=128k flush=5m;
	error_log /var/log/nginx/site.ru-error.log;

    include /usr/share/nginx/html/nginx-errors/nginx-errors.conf;
    include /etc/nginx/snippets/restrictions.conf;
    include /etc/nginx/snippets/wellknown.conf;

 	location / {
		return 301 https://site.ru$request_uri;
	} 
}

server {
    listen 443 ssl http2;
    # listen [::]:443 ssl http2;
	server_name www.site.ru;

    access_log /var/log/nginx/site.ru-access.log main buffer=128k flush=5m;
	error_log /var/log/nginx/site.ru-error.log;

    include /usr/share/nginx/html/nginx-errors/nginx-errors.conf;
    include /etc/nginx/snippets/restrictions.conf;
    include /etc/nginx/snippets/wellknown.conf;

    ssl_certificate /root/.acme.sh/site.ru/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/site.ru/site.ru.key;
    ssl_trusted_certificate /root/.acme.sh/site.ru/ca.cer;

    include snippets/sslsettings.conf;

 	location / {
		return 301 https://site.ru$request_uri;
	} 
}

server {
    listen 443 ssl http2;
    # listen [::]:443 ssl http2;
	server_name site.ru;

    root /var/www/site.ru/public_html;
    index index.php index.html index.htm;

    access_log /var/log/nginx/site.ru-access.log main buffer=128k flush=5m;
	error_log /var/log/nginx/site.ru-error.log;

    #include /usr/share/nginx/html/nginx-errors/nginx-errors.conf;
    include snippets/restrictions.conf;
    include snippets/wellknown.conf;

    ssl_certificate /root/.acme.sh/site.ru/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/site.ru/site.ru.key;
    ssl_trusted_certificate /root/.acme.sh/site.ru/ca.cer;

    include snippets/sslsettings.conf;

    include snippets/site-redirects-u.conf;
    include snippets/wp-base.conf;
    include snippets/rocket-nginx.conf;

    location ~ \.php$ {
        limit_req zone=phpzone burst=5 nodelay;
        limit_req zone=searchzone burst=1;
        try_files $uri =404;
        include fastcgi.conf;
        fastcgi_intercept_errors on;
        fastcgi_pass  php7-site;
        fastcgi_index index.php;
        fastcgi_read_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_buffers  16 32k;
        fastcgi_buffer_size  64k;
        fastcgi_busy_buffers_size 64k;
    }

}


Не совсем понимаю зачем
server {
listen 443 ssl http2;
}

Дублируется 2 раза, с www и без.
Разве это правильно? Всё как бы работает, но смысла в этом разделении не понимаю.
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Первый server{} стереть, третий оставить как есть, второй заменить:
server {
    listen 80 default;
    listen 443 ssl http2 default;

    access_log /var/log/nginx/site.ru-access.log main buffer=128k flush=5m;
    error_log /var/log/nginx/site.ru-error.log;

    ssl_certificate /root/.acme.sh/site.ru/fullchain.cer;
    ssl_certificate_key /root/.acme.sh/site.ru/site.ru.key;
    ssl_trusted_certificate /root/.acme.sh/site.ru/ca.cer;

    include snippets/sslsettings.conf;

    location / {
        return 301 https://site.ru$request_uri;
    } 
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы