Инструменты пользователя

Инструменты сайта


wiki:freebsd:certbot

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
wiki:freebsd:certbot [2023/04/10 17:43] – создано Dimanwiki:freebsd:certbot [2026/02/05 13:34] (текущий) – [Шаблоны файлов конфига nginx] Diman
Строка 1: Строка 1:
 ======  Установка плагина certbot nginx для SSL Lets'Encrypt ====== ======  Установка плагина certbot nginx для SSL Lets'Encrypt ======
 +
 +===== Установка из портов =====
 +
 +<code bash>
 +cd /usr/ports/security/py-certbot-nginx
 +make install clean
 +</code>
 +
 +
 +===== Конфигурация nginx =====
 +
 +<code bash>
 +# Создаем директорию для проверки сертификатов в nginx
 +mkdir -p /usr/local/www/.well-known/acme-challenge
 +</code>
 +
 +В виртуальном хосте ОС FreeBSD нужного домена создаем новый локейшн
 +<code bash>
 +# FreeBSD
 +  location /.well-known/acme-challenge/ {
 +    root /usr/local/www;
 +    default_type text/plain;
 +  }
 +</code>
 +
 +
 +В виртуальном хосте ОС Debian нужного домена чуть другие пути.
 +
 +<code bash>
 +    # Debian, Ubuntu, etc
 +    location /.well-known/acme-challenge/ {
 +       root /var/www/html;
 +       default_type text/plain;
 +    }
 +</code>
 +
 +Копируем настройки SSL для nginx
 +
 +<code bash>
 +# Debian, Ubuntu
 +cp /usr/lib/python3/dist-packages/certbot_nginx/_internal/tls_configs/options-ssl-nginx.conf \
 + /etc/letsencrypt/options-ssl-nginx.conf
 +</code>
 +
 +<code bash>
 +# FreeBSD
 +openssl dhparam -out /usr/local/etc/letsencrypt/dhparams.pem 2048
 +
 +# Debian, Ubuntu
 +openssl dhparam -out /etc/letsencrypt/ssl-dhparams.pem 2048
 +</code>
 +===== Получение сертификатов SSL =====
 +
 +Получаем сертификат, выполняя certbot
 +<code bash>
 +# тестируем
 +certbot certonly --webroot -w /usr/local/nginx -d srv206.vps-server.ru --email support@vps-server.ru  --dry-run 
 +
 +# если все успешно, то убираем  --dry-run и выполняем еще раз!
 +
 +
 +</code>
 +
 +Если все успешно, то убираем <del> --dry-run</del> и выполняем еще раз!
 +
 +===== Шаблоны файлов конфига nginx =====
 +
 +<file bash domain.conf>
 +server {
 +    server_name ~^www\.(.*)$;
 +    return 301 $scheme://$1$request_uri;
 +}
 +
 +server {
 +  listen 80;
 +  server_name ###domain### www.###domain###;
 +  error_log /var/log/nginx/###domain###-error.log warn;
 +  access_log /var/log/nginx/###domain###.log;
 +  location / {
 +    ###redirect_enable###
 +    return 301 https://$host$request_uri;
 +    root /var/www/html/;
 +    index  index.html index.htm index.nginx-debian.html;
 +  }
 +  location /.well-known/acme-challenge/ {
 +    root /var/www/html/;
 +    default_type text/plain;
 +  }
 +}
 +</file>
 +
 +<file bash domain.ssl.conf>
 +server {
 +  listen 443 ssl;
 +  server_name ###domain### www.###domain###;
 +  error_log /var/log/nginx/###domain###-error.log warn;
 +  access_log /var/log/nginx/###domain###.log;
 +
 +  ssl_certificate /etc/letsencrypt/live/###domain###/fullchain.pem;
 +  ssl_certificate_key /etc/letsencrypt/live/###domain###/privkey.pem;
 +  include /etc/letsencrypt/options-ssl-nginx.conf;
 +  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
 +
 +  if ($host ~* ^www\.(.*)) {
 +    set $host_without_www $1;
 +    rewrite ^(.*)$ $scheme://$host_without_www$1 permanent;
 +  }
 +
 +  real_ip_header    X-Real-IP;
 +  location / {
 +    proxy_set_header Host $host;
 +    proxy_set_header X-Real-IP $remote_addr;
 +    proxy_set_header X-Forwarded-For $remote_addr;
 +    proxy_pass http://###local_ip###;
 +  }
 +}
 +
 +</file>
 +
 +
 +
 + 
 +
 +
  
wiki/freebsd/certbot.1681148598.txt.gz · Последнее изменение: Diman

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki