Рабочий конфиг NGINX для CS-CART по HTTPS в FIRSTVDS.RU
Конфигурация NGINX для CS-CART по HTTPS –
Все что под *** – Ваши личные пути и данные домена:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 |
#user '***' virtual host '***.ru' configuration file server { server_name ***.ru www.***.ru; charset UTF-8; disable_symlinks if_not_owner from=$root_path; gzip on; gzip_comp_level 6; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; index index.html; root $root_path; set $root_path /var/www/***; access_log /var/www/httpd-logs/***.ru.access.log ; error_log /var/www/httpd-logs/***.ru.error.log notice; include /etc/nginx/vhosts-includes/*.conf; # Прочие настройки client_max_body_size 100m; client_body_buffer_size 128k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 16k; location / { # Главный скрипт index index.php index.html index.htm; # Для работы API rewrite ^/api/(.*)$ /api.php?_d=$1&ajax_custom=1&$args last; # Логика поиска скрипта по порядку: файл, папка, скрипт try_files $uri $uri/ @fallback; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } # Правиле rewrite для модуля SEO location @fallback { rewrite ^(.*)$ /index.php?$args last; } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f ***@***.ru"; fastcgi_pass unix:/var/www/php-fpm/***.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } # Настройки статики, первое правило location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|gz|wof|csv|zip|xml|yml) { access_log off; # Правило поиска статических файлов. Если файл не находится по адресу магазина, то ищем файл по правилу @statics. # Например если магазин расположен в подпапке ***.ru/shop/ try_files $uri =404; expires 14d; add_header Access-Control-Allow-Origin *; add_header Cache-Control public; root $root_path; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } # Правило поиска статических файлов для витрин. Например, если у Вас две витрины в разных подпапках: ***.ru и ***.ru/shop/ # location @statics { # rewrite ^/(\w+)/(.*)$ /$2 break; # access_log off; # rewrite_log off; # expires 14d; # add_header Cache-Control public; # add_header Access-Control-Allow-Origin *; # root $root_path; # } location ~ \.php$ { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f deonisya@ya.ru"; fastcgi_pass unix:/var/www/php-fpm/***.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } add_header Strict-Transport-Security "max-age=31536000;"; listen ***; } server { server_name ***.ru www.***.ru; charset UTF-8; disable_symlinks if_not_owner from=$root_path; gzip on; gzip_comp_level 6; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; index index.html; root $root_path; set $root_path /var/www/***; access_log /var/www/httpd-logs/***.access.log ; error_log /var/www/httpd-logs/***.log notice; include /etc/nginx/vhosts-includes/***.conf; # Прочие настройки client_max_body_size 100m; client_body_buffer_size 128k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 1k; large_client_header_buffers 4 16k; location / { # Главный скрипт index index.php index.html index.htm; # Для работы API rewrite ^/api/(.*)$ /api.php?_d=$1&ajax_custom=1&$args last; # Логика поиска скрипта по порядку: файл, папка, скрипт try_files $uri $uri/ @fallback; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } # Правиле rewrite для модуля SEO location @fallback { rewrite ^(.*)$ /index.php?$args last; } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f ***@***.ru"; fastcgi_pass unix:/var/www/php-fpm/***.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } # Настройки статики, первое правило location ~* \.(jpeg|ico|jpg|gif|png|css|js|pdf|txt|tar|gz|wof|csv|zip|xml|yml) { access_log off; # Правило поиска статических файлов. Если файл не находится по адресу магазина, то ищем файл по правилу @statics. # Например если магазин расположен в подпапке / try_files $uri =404; expires 14d; add_header Access-Control-Allow-Origin *; add_header Cache-Control public; root $root_path; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } # Правило поиска статических файлов для витрин. Например, если у Вас две витрины в разных подпапках # location @statics { # rewrite ^/(\w+)/(.*)$ /$2 break; # access_log off; # rewrite_log off; # expires 14d; # add_header Cache-Control public; # add_header Access-Control-Allow-Origin *; # root $root_path; # } location ~ \.php$ { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f ***@***.ru"; fastcgi_pass unix:/var/www/php-fpm/***; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } add_header Strict-Transport-Security "max-age=31536000;"; listen ***; ssl on; ssl_certificate "/var/www/httpd-cert/***/***.crt"; ssl_certificate_key "/var/www/httpd-cert/***/***.key"; ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; } |