Налаштування HTTPS для Nginx
HTTPS означає Hypertext Transfer Protocol Secure, і це безпечна версія HTTP, протоколу, який використовується для зв’язку між вашим браузером і веб-сайтом. HTTPS шифрує дані, що надсилаються та отримуються, забезпечуючи безпеку та конфіденційність зв’язку.
Деякий час тому я використовував VPS для деяких своїх проектів. Мені потрібно було запустити PHP і NodeJS на сервері та налаштувати домени для цих проектів. Проксі-сервером, на якому налаштовано домени, було обрано Nginx. Операційною системою на сервері була Ubuntu. Щоб домени працювали, необхідно налаштувати HTTPS. Для створення сертифікатів SSL був обраний безкоштовний центр сертифікації Let’s Encrypt.
Отримати сертифікат
sudo letsencrypt certonly -a webroot --webroot-path=/var/www/site.com/public_html -d site.com -d www.site.com
Оновити сертифікат
sudo letsencrypt renew
Весь конфігураційний файл nginx
server {
listen 80 ;
server_name site.com.ru www.site.com;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name site.com www.site.com;
ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/site.com/chain.pem;
add_header Content-Security-Policy "img-src https: data:; upgrade-insecure-requests";
# We keep access log:
access_log /var/log/nginx/site.com_access.log;
# We share static and dynamic, static stored in cache for 10 days:
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|doc|docx|pdf|xls|xlsx|rar|zip|tbz|7z|exe)$ {
root /var/www/site.com/public_html;
expires 10d;
}
# htaccess and htpasswd do not give:
location ~ /\.ht {
deny all;
}
# We want to see statistics when accessing the /stat folder
location = /stat {
stub_status on;
access_log off;
}
location / {
proxy_pass http://site.com:8888/;
proxy_redirect off;
log_not_found off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTPS on;
}
}
Не забути перезавантажити nginx
sudo /etc/init.d/nginx restart
Схожі записи:
-
Створення запиту в Salesforce за допомогою SSJS
Під час роботи з Salesforce Marketing Cloud вам може знадобитися надсилати дані до зовнішнього сервісу або динамічно отримувати контент на основі параметрів запиту. Serve...
-
Захист сайту або каталогу за допомогою пароля за допомогою .htaccess і .htpasswd
Захист веб-сайту або певного каталогу паролем є простим, але ефективним способом обмеження доступу. Це можна зробити за допомогою файлів .htaccess і .htpasswd в Apache. Ф...
-
Як запустити (задеплоїти) SPA (Single Page Application) на звичайному shared-хостингу
Розробка односторінкових додатків (SPA) на базі Vue або React стала стандартом для сучасних веб-проектів. Однак, коли справа доходить до їх розміщення (деплою) на звичайн...
Залишити відповідь