Рубрики
apache \ nginx certbot

nginx proxy forward https 443 <-- http 80

вводное

Этот вариант установки подходит только для серверов:
0. Все серверы за NAT
1. Один сервер Nginx фронт. Видно снаружи 80,443 порт
2. Сервер Nginx форвардит на другие серверы в локальной сети

Начало …

0. apt-get install nginx - установили nginx
1. отредактировали файл nginx.conf
nano /etc/nginx/nginx.conf
---nginx.conf---
----------------
user  www-data www-data;

worker_processes  auto;

events {
   worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 4000m;
    client_header_timeout  10m;
    client_body_timeout    10m;
    send_timeout           10m;
    keepalive_timeout      10m;
    sendfile        on;
   
server {
  listen 80;
   root /var/www/html;
   server_name DNS_NAME_SERVER.com www.DNS_NAME_SERVER.com;

  location / {
    proxy_pass http://DNS_NAME_SERVER;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

}

}
----------------

2. Для того что бы не городить IP в конфиге nginx можно сделать следущие отредактировать файл host.
   Ну или настроить локальный DNS сервер.
nano /etc/hosts
---hosts---
127.0.0.1       localhost
127.0.1.1       nginx
IP-LOCAL-CLIENTA-WEB-SERVER-APACHE www.DNS_NAME.ru DNS_NAME.ru
IP-LOCAL-CLIENTA-WEB-SERVER-APACHE xxxx.DNS_NAME.com www.xxxx.DNS_NAME.com
IP-LOCAL-CLIENTA-WEB-SERVER-APACHE DNS_NAME.com
----------

Второе настраиваем сервер Nginx

Нужно на сервере где установлен Nginx организовать доступ к каталогу /var/www/html/.well-known для будущей работы Certbot 
Самый простой способ установить NFS сервер. 
Также можно использовать SSHFS. 
Ну или на хуйдой конец samba.

ssh — sshfs монтирование шары
Самый простой и не безопасный способ это NFS 0. Ставим NFS на сервер с Nginx apt-get install nfs-kernel-server nfs-common portmap - ставим mkdir /var/www/html/.well-known - создаем катало .well-known 1. Редактируем /etc/exports и добавляем IP которым можно подключатся по NFS nano /etc/exports ---export--- /var/www/html/.well-known IP-CLIENTA-WEB-SERVER-APACHE(rw,sync,no_subtree_check) ------------ 2. Применяем настройки exportfs -a - выполним чтобы изменения вступили в силу

Третье на сервере с Apache

0. Устанавливаем и создаем каталог
apt-get install nfs-common portmap rsync
mkdir /var/www/KATALOG-VASHEGO-SAITA/.well-known
1. nano /etc/fstab
---fstab---
IP_SERVER_NGINX:/var/www/html/.well-known /var/www/html/.well-known nfs
-----------
2. mount -a 

Ставим Certbot на сервер с nginx

0. ставим certbot 
apt-get install certbot python-certbot-nginx
1. Добавляем сертификаты для наших сайтов
certbot -a webroot -i nginx  - правильно ответив на вопросы конфиг nginx будет отредактирован certbot