support 447 Опубликовано 1 ноября, 2019 Жалоба Share Опубликовано 1 ноября, 2019 Берём стандартный конфиг nginx для cezerin - https://raw.githubusercontent.com/Cezerin2/cezerin2/master/docs/nginx.md и меняем его на: server { # Dynamic image resizing server listen 127.0.0.1:8888; server_tokens off; location ~ "^/resize/(?<entity>\w+)/(?<id>\w+)/(?<width>[1-9][0-9][0-9]{1}|[1][0-9][0-9][0-9]{1})/(?<file>.+)$" { alias /var/www/vamshop-api/public/content/images/$entity/$id/$file; image_filter_buffer 20M; image_filter_jpeg_quality 85; image_filter_interlace on; image_filter resize $width -; } } # Cache rule for resized images proxy_cache_path /tmp/nginx-images-cache2/ levels=1:2 keys_zone=images:10m inactive=30d max_size=5g use_temp_path=off; server { listen 80 default_server; server_name _; listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name vamhost.ru; ssl_certificate /etc/ssl/certs/cert.pem; ssl_certificate_key /etc/ssl/private/key.pem; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security max-age=15768000; client_max_body_size 500M; location ~ "^/images/(?<entity>\w+)/(?<id>\w+)/(?<width>[1-9][0-9][0-9]{1}|[1][0-9][0-9][0-9]{1})/(?<file>.+)$" { # /images/products/id/100/file.jpg >>> Proxy to internal image resizing server proxy_pass http://127.0.0.1:8888/resize/$entity/$id/$width/$file; proxy_cache images; proxy_cache_valid 200 30d; } location /assets/ { alias /var/www/vamshop-storefront/theme/assets/; } location /sw.js { root /var/www/vamshop-storefront/theme/assets/; } location ~ ^/(api|ajax|ws|images)/ { # Proxy to NodeJS expires off; proxy_pass http://127.0.0.1:3001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location / { try_files $uri @proxy; } location @proxy { # Proxy to NodeJS expires off; proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 80; server_name admin.vamhost.ru; gzip on; gzip_comp_level 2; gzip_min_length 1024; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_types application/x-javascript application/javascript application/xml application/json text/xml text/css text$ client_body_timeout 12; client_header_timeout 12; reset_timedout_connection on; send_timeout 10; server_tokens off; client_max_body_size 50m; expires 1y; access_log off; log_not_found off; location / { try_files $uri @proxy; } location @proxy { # Proxy to NodeJS expires off; proxy_pass http://127.0.0.1:3002; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } Сертификат /etc/ssl/certs/dhparam.pem генерируем в консоли командой: sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 Сертификат и приватный ключ SSL сертификата можно сделать любой, я использую CloudFlare сертификат. Привяжите домен свой к cloudflare и в админке там можете сгенерировать сертификаты и сохранить их в: /etc/ssl/certs/cert.pem и /etc/ssl/private/key.pem Перезапускаем ngnix, проверив правильность конфига: nginx -t И перезапускаем: sudo service reload nginx В панели управления доменов в cloudflare.com включаем в настройках SSL - Flexible. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 ноября, 2019 Автор Жалоба Share Опубликовано 1 ноября, 2019 Настройка cloudflare origin сертификата в nginx https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-16-04 Рабочий пример всего, что здесь написано, в онлайн-демке https://vamhost.ru Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения