Nginx

Этот конфиг больше не использую, но он всё еще актуален. Начал переводить всё с Nginx на Angie


Обратный прокси c Nginx:80 на Apache:8080 на этом же сервере

Это реальный пример конфигов для этого сайта. Nginx работает на 80 http и 443 https, а Apache работает на 8080 http и 44380 https. Используется единая папка сайта, но лог-файлы пишутся разные. Такая схема необходима для того что бы все http/s запрсы приходили на Nginx, который проксирует поддомены и/или пути на другие серверы внутри сети.

Конфиг виртуального хоста Nginx: /etc/nginx/sites-enabled/know.sheredeka.ru.conf

server {
    server_name know.sheredeka.ru;
    access_log /var/www/know.sheredeka.ru/log/access_nginx.log;
    error_log /var/www/know.sheredeka.ru/log/error_nginx.log;
    location /.well-known/acme-challenge/ {root /var/www/know.sheredeka.ru/www/;}
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        add_header Front-End-Https on;
        proxy_headers_hash_max_size 512;
        proxy_headers_hash_bucket_size 64;
        proxy_buffering off;
        proxy_redirect off;
        proxy_max_temp_file_size 0;
        proxy_pass http://know.sheredeka.ru:8080/;
    }
}

Конфиг виртуального хоста Apache: /etc/apache2/sites-enabled/know.sheredeka.ru_8080.conf

<VirtualHost know.sheredeka.ru:8080>
    ServerName know.sheredeka.ru
    DocumentRoot /var/www/know.sheredeka.ru/www/
    ErrorLog /var/www/know.sheredeka.ru/log/error_apache.log
    CustomLog /var/www/know.sheredeka.ru/log/access_apache.log combined
</VirtualHost>
  1. Меняем порты который слушает апач в файле /etc/apache2/ports.conf
  2. Включаем модуль апача для получения реальных ip-адресов a2enmod remoteip
  3. Добавляем в /etc/hosts перенаправленный домен к записи 127.0.0.1 localhost know.sheredeka.ru
  4. Рестартим вебсерверы systemctl restart apache2 nginx

Редиректы

Перенаправить запрос на другой сервер при обращении по url grav:location ~ ^/grav/(.*)$ { return 301 $scheme://know.sheredeka.ru/$1; }