This commit is contained in:
2026-05-20 15:23:05 +03:00
commit 43c0739dfa
703 changed files with 61692 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
#
# Project unique name
#
COMPOSE_PROJECT_NAME=b24pal
#
# Timezone
#
TZ=Europe/Moscow
+5
View File
@@ -0,0 +1,5 @@
#
# VMBitrix
#
BITRIX_VA_VER=9.0.9
BITRIX_ENV_TYPE=general
+4
View File
@@ -0,0 +1,4 @@
#
# Push Server on NodeJS: Security Key
#
PUSH_SECURITY_KEY=qWWNopE43vkcTONyXgHzalhf1l5wFVUrwRjNZ1koVMt5wvJm3SmiCw6rqTrEFwZe68YVTUeNaj64uScnen2AAB3SwUOl7XOfqBjeiX4WGqCpFab1D5mIaaE013zIWWGH
+5
View File
@@ -0,0 +1,5 @@
#
# Push Server on NodeJS: Pub
#
PUSH_PUB_PORT=9010
PUSH_PUB_MODE=pub
+5
View File
@@ -0,0 +1,5 @@
#
# Push Server on NodeJS: Sub
#
PUSH_SUB_PORT=8010
PUSH_SUB_MODE=sub
+5
View File
@@ -0,0 +1,5 @@
#
# Redis
#
REDIS_HOST=redis
REDIS_PORT=6379
+12
View File
@@ -0,0 +1,12 @@
#
# MySQL DB: Root Password
#
# example: lBZPsD1U}u8]HxJ
#
# CHANGE_MYSQL_ROOT_PASSWORD_HERE
#
MYSQL_ROOT_PASSWORD="lBZPsD1U}u8]HxJ"
#
# Percona Server 8.0.x or Percona Server 8.4.x: disable telemetry agent run, collect, send data
#
PERCONA_TELEMETRY_DISABLE=1
+18
View File
@@ -0,0 +1,18 @@
#
# Root Certificate Authority and Intermediate Certificate Authority Data
#
CA_COUNTRY_NAME='RU'
CA_STATE_OR_PROVINCE_NAME='Kaliningrad Region'
CA_LOCALITY_NAME='Kaliningrad'
CA_ORGANIZATION_NAME='Dev Corporation Ltd'
CA_ORGANIZATIONAL_UNIT_NAME='Dev Corporation Ltd Unit'
CA_EMAIL_ADDRESS='info@devcorporation.ltd'
#
# Certificate Data
#
CERT_COUNTRY_NAME='RU'
CERT_STATE_OR_PROVINCE_NAME='Kaliningrad Region'
CERT_LOCALITY_NAME='Kaliningrad'
CERT_ORGANIZATION_NAME='Dev Corporation Ltd'
CERT_ORGANIZATIONAL_UNIT_NAME='Dev Corporation Ltd Unit'
CERT_EMAIL_ADDRESS='info@devcorporation.ltd'
+16
View File
@@ -0,0 +1,16 @@
# исключаем phpstorm
.idea/*
# исключаем env и ini файлы
.env
.env_sql
.env_push
confs/php84/etc/php/conf.d/timezone.ini
# файлы битрикс
/data/www/*
!/data/www/.gitkeep
# БД
/data/mysql/*
!/data/mysql/.gitkeep
+362
View File
@@ -0,0 +1,362 @@
# Docker-окружение для Bitrix (env-docker)
Этот проект предназначен для быстрого развертывания локального окружения для разработки на Битрикс с использованием Docker. В основе лежит репозиторий https://github.com/bitrix-tools/env-docker
## Директории
- [mysql](data/mysql) — файлы баз данных MySQL. Эта папка привязана к контейнеру через bind mount, поэтому данные сохраняются даже после удаления контейнеров.
- [www](data/www) — файлы проектов (скрипты Битрикс). Это основной рабочий каталог для разработки.
## Навигация
* [Инициализация проекта](#инициализация-проекта)
* [Настройка среды разработки](#настройка-среды-разработки)
* [Настройка доступа к сайту](#настройка-доступа-к-сайту)
* [Настройка Xdebug](#настройка-xdebug)
* [Docker](#docker)
* [Управление контейнерами (Docker Compose)](#управление-контейнерами)
## Инициализация проекта
1. Создайте директорию для вашего проекта и перейдите в неё.
2. Склонируйте репозиторий в текущую директорию (обратите внимание на точку в конце команды):
```bash
git clone git@gitlab.vniigaz.local:internal-automation/isup/bitrix-docker.git .
```
3. Склонируйте подмодули проекта
Выполните в корне проекта:
```bash
git submodule update --init --recursive
```
4. В [www](data/www) Необходимо добавить исключенные из репозитория, проекта ИСУП, папки:
- `/bitrix`
- `/upload`
Взять их можно из полной копии проекта (склеить и распаковать полный архив)
```bash
# Склеить архив и сразу распаковать (для не сжатых архивов):
cat *$(ls -v *tar.*) | tar xf -
# Склеить архив и распаковать (для сжатых архивов):
cat *$(ls -v *tar.gz*) | tar xzf -
```
Далее перенести необходимые директории
5. Импортируем БД
> Импорт БД должен происходить после запуска контейнеров.
При создании полной копии проекта, средствами резервного копирования Битрикс и после переноса папки `bitrix` в [www](data/www) в `/bitrix/backup` будет находиться копия БД (2 файла).
Необходимо скопировать SQL-файлы в контейнер mysql:
```bash
# Создаем папку, которая не является tmpfs
docker exec dev_mysql mkdir /import
# основная БД, например b24pal.local_20260304_231417_full_2dk2oay35dm6fu8r.sql
# Формат: docker cp /путь/к/файлу.sql <имя_контейнера>:/import/файл.sql
docker cp ./data/www/bitrix/backup/{имя файла}.sql dev_mysql:/import/{имя файла}.sql
# БД after_connect, например b24pal.local_20260304_231417_full_2dk2oay35dm6fu8r_after_connect.sql
docker cp ./data/www/bitrix/backup/{имя файла}_after_connect.sql dev_mysql:/import/{имя файла}_after_connect.sql
```
Зайдите в контейнер и подключитесь к MySQL.
```bash
docker exec -it dev_mysql bash
```
Внутри контейнера выполните:
```bash
mysql -u root -p
```
Введите пароль root, пароль указан в файле `.env_sql`
Создайте базу данных (если её нет). В командной строке MySQL выполните:
```bash
# укажите любое имя БД, например b24local
CREATE DATABASE IF NOT EXISTS b24local;
# переключаемся на созданную БД, проверяем что выбор работает
USE b24local;
# Выходим из консоли mysql
exit;
```
**Загрузите дамп.** Не выходя из контейнера, выполните команду загрузки.
```bash
# укажите имя БД и имя загруженной копии БД
mysql -u root -p имя_вашей_базы < /tmp/{имя файла копии}.sql
# укажите имя БД и имя загруженной копии after_connect.sql
mysql -u root -p имя_вашей_базы < /tmp/{имя файла копии}.sql
```
Система снова запросит пароль root
## Настройка среды разработки
Настройки вносятся **до первого запуска контейнеров**
1. Скопируйте файлы
```bash
cp .env.example .env
cp .env_sql.example .env_sql
cp .env_push.example .env_push
cp confs/php84/etc/php/conf.d/timezone.ini.example confs/php84/etc/php/conf.d/timezone.ini
```
2. Заполните их значениями для вашей среды разработки:
**Пароль к базам данных MySQL**
Пароль для суперпользователя `root` задается в файле `.env_sql`:
```dotenv
MYSQL_ROOT_PASSWORD="..."
```
**Секретный ключ для Push-сервера**
Ключ используется для подписи соединений между клиентом и Push-сервером. Он задается в файле `.env_push`, можно использовать уже установленное значение
```dotenv
PUSH_SECURITY_KEY=...
```
**Часовой пояс (timezone)**
> Часовой пояс для контейнеров задается в двух местах
1. Файл `.env`. (основная настройка для большинства сервисов). Значение задано как:
```dotenv
TZ=Europe/Moscow
```
2. Файл `confs/php84/etc/php/conf.d/timezone.ini` (настройка для PHP):
```ini
date.timezone = Europe/Moscow
```
После выполнения этих шагов можно переходить к запуску контейнеров.
## Настройка доступа к сайту
Для macOS. По умолчанию сайт использует порты **8588 (HTTP)** и **8589 (HTTPS)**. Эти настройки указаны в файле `docker-compose.yml`.
Если порты заняты, можно указать другие в `docker-compose.yml`.
Для доступа к сайту по удобному адресу (например, http://b24.vniigaz.gazprom.local) без указания порта, нужно перенаправить трафик с 80-го порта на порт 8588.
Ниже описаны два способа **для macOS**.
Так как на `macOS` системный `80` порт часто занят или защищен, можно:
- использовать PF (Packet Filter) — встроенный в macOS фаервол, который перенаправит трафик.
- настроить прокси для локального Apache (рекомендованный способ)
### Предварительная настройка (общая для обоих способов)
Как открывать сайт:
1) через `127.0.0.1:8588`
2) `b24.vniigaz.gazprom.local:8588`
3) `b24.vniigaz.gazprom.local` - без порта — см. ниже
1. Добавьте запись в файл `/etc/hosts`. Это свяжет доменное имя с локальным компьютером.
```bash
sudo nano /etc/hosts
```
Добавьте строку:
```text
127.0.0.1 b24.vniigaz.gazprom.local
```
2. **(Опционально)** Создайте тестовый файл.
Для проверки работы создайте в директории [data/www](data/www) файл `index.php` с содержимым:
```php
<?php
phpinfo();
```
### Способ 1: Перенаправление портов через PF (Packet Filter)
Этот способ использует встроенный в macOS файервол для перенаправления трафика.
1. Создайте файл конфигурации для PF:
```bash
sudo nano /etc/pf.anchors/bitrix-dev
```
2. Вставьте следующее правило. Оно перенаправит входящие запросы на 80-й порт на порт 8588 Docker-контейнера:
```bash
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8588
# Для HTTPS (порт 443) раскомментируйте следующую строку, если настроите SSL:
#rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 8589
```
Сохраните файл.
3. Загрузите новое правило. Эта команда включает PF с вашим правилом.
```bash
sudo pfctl -ef /etc/pf.conf
sudo pfctl -f /etc/pf.anchors/bitrix-dev
```
После этого сайт должен открываться по адресу http://b24.vniigaz.gazprom.local.
### Способ 2: Проксирование через локальный Apache - рекомендуется
Этот способ подойдет, если у вас уже запущен встроенный веб-сервер Apache и вы не хотите отключать его.
**1. Найдите конфигурацию Apache**
Эта команда показывает полную конфигурацию, которую видит Apache, и в самом верху вывода будет путь к основному файлу `httpd.conf`
```bash
apachectl -t -D DUMP_INCLUDES
```
**2. Создайте конфигурационный файл для виртуального хоста.**
Создайте файл, например: `sudo nano /{путь к конфигу}/users/httpd-bitrix-vhost.conf` (путь может отличаться в зависимости от вашей системы)
Вставьте в него следующее содержимое:
```apacheconf
<VirtualHost *:80>
ServerName b24.vniigaz.gazprom.local
# Включаем проксирование
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8588/
ProxyPassReverse / http://127.0.0.1:8588/
# Логи (опционально), они локальные
ErrorLog "/var/log/apache2/b24-error_log"
</VirtualHost>
```
**3. Включите модули прокси в Apache.**
Откройте основной файл `httpd.conf` `/{путь к конфигу}/httpd.conf` (путь к которому вы узнали в шаге 1.).
Найдите и раскомментируйте (уберите символ `#` в начале) следующие строки, чтобы включить модули прокси::
```apacheconf
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
```
Сохраните файл.
**3. Подключите созданный виртуальный хост.**
В конец того же файла `httpd.conf` добавьте строку для подключения вашего конфига:
```apacheconf
# подключаем все кастомные конфиги
Include /{путь к конфигу}/users/*
# или подключаем один файл точечно
Include /{путь к конфигу}/users/httpd-bitrix-vhost.conf
```
Убедитесь, что путь указан верно.
**4. Перезапустите Apache.**
```apacheconf
sudo apachectl restart
```
Теперь сайт должен быть доступен по адресу http://b24.vniigaz.gazprom.local.
## Настройка Xdebug
### Настраиваем PhpStorm
#### 1. Настройка PHP Interpreter
1. `Settings` → `PHP` → `CLI Interpreter` → `+` → `From Docker, Vagrant, WSL...`
2. Выберите `Docker Compose`
3. Укажите путь к `docker-compose.yml` и сервис `php`
4. `PhpStorm` подключится к контейнеру и проиндексирует файлы
#### 2. Настройка Path Mappings
1. `Settings` → `PHP` → `Servers`
2. Добавьте сервер:
* Name: bitrix-docker
* Host: localhost (или ваш домен, например dev.bx)
* Port: 8588
* Debugger: Xdebug
3. Внизу в Path mappings укажите:
```text
Local: /путь/к/data/www → Remote: /opt/www/
```
#### 3. Настройка Debug
1. `Settings` → `PHP` → `Debug`:
* Debug port: 9003
* Can accept external connections
2. `Settings` → `PHP` → `Debug` → `Xdebug`:
* Filter debug connection by IDE key
* IDE key: `PHPSTORM`
#### 4. Создайте конфигурацию запуска
1. `Run` → `Edit Configurations` → `+` → `PHP Remote Debug`
2. Настройки:
* Name: `Bitrix Docker Debug`
* Server: выберите созданный сервер `bitrix-docker`
* IDE key: `PHPSTORM`
3. Примените и закройте
В PhpStorm включите "Start Listening for PHP Debug Connections" (иконка 🐞 в панели)
Поставьте брейкпоинт в коде и откройте страницу — отладка должна сработать!
## Docker
Для удобного управления контейнерами в графическом интерфейсе рекомендуется использовать `Docker Desktop`. Он доступен для Windows, Linux и macOS.
Документация по установке:
- `Docker Desktop on Windows`: https://docs.docker.com/desktop/setup/install/windows-install/
- `Docker Desktop on Linux`: https://docs.docker.com/desktop/setup/install/linux/
- `Docker Desktop on Mac`: https://docs.docker.com/desktop/setup/install/mac-install/
## Управление контейнерами
Для оркестрации контейнеров используется `Docker Compose`. Все команды выполняются из корневой директории проекта.
Основная команда для пересборки и перезапуска:
```bash
docker compose down && docker compose up -d
```
<details><summary>Полезные команды Docker</summary>
* **Запустить все контейнеры и оставить их работать в фоне:**
```bash
docker compose up -d
```
* **Отобразить список контейнеров и их статус:**
```bash
docker compose ps
```
* **Показать логи сразу всех контейнеров:**
```bash
docker compose logs
```
* **Показать лог определенного сервиса-контейнера:**
```bash
docker compose logs redis
```
* **Перезапустить определенный контейнер:**
```bash
docker compose restart nginx
```
* **Перезапустить все контейнеры:**
```bash
docker compose restart
```
* **Остановить все контейнеры:**
```bash
docker compose stop
```
* **Остановить все контейнеры, удалить их:**
```bash
docker compose down
```
* **Остановить все контейнеры, удалить их и удалить все тома этих контейнеров:**
```bash
docker compose down -v
```
* **Зайти в sh-консоль определенного контейнера, например nginx:**
```bash
docker compose exec nginx sh
```
</details>
+35
View File
@@ -0,0 +1,35 @@
# Percona Server template configuration
#
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
#
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
#
##datadir=/var/lib/mysql
##socket=/var/lib/mysql/mysql.sock
##log-error=/var/log/mysqld.log
##pid-file=/var/run/mysqld/mysqld.pid
#
!includedir /etc/my.cnf.d
#
+3
View File
@@ -0,0 +1,3 @@
#[mysqld]
#host_cache_size=0
#skip-name-resolve
+85
View File
@@ -0,0 +1,85 @@
[client]
port = 3306
default-character-set = utf8mb4
user = mysql
[mysqld_safe]
nice = 0
#log-error = /var/log/mysql/error.log
user = mysql
[mysqld]
#default-authentication-plugin = mysql_native_password # deprecated
#authentication_policy = "mysql_native_password,," # mysql_native_password deprecated 8.0.34
authentication_policy = "*,,"
user = mysql
port = 3306
basedir = /usr
datadir = /var/lib/mysql
server-id = 101
skip-external-locking
default-storage-engine = innodb
pid-file = /var/run/mysqld/mysqld.pid
transaction_isolation = READ-COMMITTED
max_allowed_packet = 16M
myisam-recover-options = BACKUP
explicit_defaults_for_timestamp = 1
#expire_logs_days = 30
#binlog_expire_logs_seconds = 2592000
max_binlog_size = 1024M
sql_mode = ""
tmpdir = /tmp
innodb_file_per_table
innodb_buffer_pool_size = 1024M
innodb_flush_log_at_trx_commit = 2
#innodb_log_file_size = 64M # deprecated percona 8.0.30
innodb-redo-log-capacity = 104857600
innodb_flush_method = O_DIRECT
innodb_strict_mode = OFF
innodb_default_row_format = DYNAMIC
character-set-server = utf8mb4
collation-server = utf8mb4_0900_ai_ci
init-connect = "SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci"
#skip-character-set-client-handshake # deprecated 8.0.35
skip-name-resolve
max_connections = 43
table_open_cache = 8096
thread_cache_size = 96
thread_stack = 512K
max_heap_table_size = 128M
tmp_table_size = 128M
key_buffer_size = 48M
join_buffer_size = 8M
sort_buffer_size = 8M
bulk_insert_buffer_size = 2M
myisam_sort_buffer_size = 8M
general_log = 0
#general_log_file = /var/log/mysql/mysql.log
#log_error = /var/log/mysql/error.log
skip-log-bin
#log_bin = /var/lib/mysql/mysql-binlog
log_bin_index = /var/lib/mysql/mysql-binlog.index
relay_log = /var/lib/mysql/mysql-relay-binlog
relay_log_index = /var/lib/mysql/mysql-relay-binlog.index
slow_query_log = 0
#slow_query_log_file = /var/log/mysql/slow.log
sync_binlog = 0
tls_version = TLSv1.2,TLSv1.3
secure-log-path=/var/lib/mysql-files
percona_telemetry_disable = 1 # disable percona telemetry, from 8.0.37 and above
[system_default_sect]
MinProtocol = TLSv1.2
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
default-character-set = utf8mb4
user = mysql
[mysql]
user = mysql
[isamchk]
key_buffer = 16M
+10
View File
@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>200 OK</title>
</head>
<body>
<div>Ping!</div>
</body>
</html>
@@ -0,0 +1,74 @@
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgcQxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcMC0thbGluaW5n
cmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2MDQGA1UECwwt
RXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSgw
JgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENBMB4XDTIxMDky
NDIyMDEzN1oXDTMzMDkyMTIyMDEzN1owgbYxCzAJBgNVBAYTAlJVMRswGQYDVQQI
DBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUgQ29ycG9yYXRp
b24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMHB34FLQKB1vrdXOViiK/jsoS9W9YWl5eFTelbIacFoh5JmDAP+wR3/mjDvQVUN
24qavPuCnkGsXvh23vXzofulm2ItoL8vVMwwzdrSBpdXkQhFu9yryFN6DrRdDHFi
M0ck0+IBCce0qbm3jHz+HhrTfWxcxKYWW97IOS4lmRjMsUCGNa0aL9RmNkHkOGwz
D8d9VyJA0SMrE+oOZTWKXieOC+NPGT9K6Ei5/EX64pcq5Pgefma2qaSNWJDzk3FZ
32YfTX0OyHvJLD8FthWfXouxBaaxmgGoPaTGS4EFfmA27fxEZJFZb3WBr8RJLUxq
X9NUZt23XqLyr5sJN3UvCgJNsGx5fNXPqZDHxZhYLTL+C2nAZu2D3YOqMlhL/czl
PWtSInuGkeO5DrBw+JoIVyV6yylLao7q0aEpLPIYcpbDhLH0VWLpdVWnizyBTBvB
gkahU37JSFOJHRc/B7/6NkDgsK1MJuOYsPz1k9Vl5fvocCp1Y7F2wpICpWNS8FF3
emaXt129WLQ6647+YxOJc+L3YlBnbN2M8M/aDUk2ukha69sxvhMCYOqIrUhAey6K
eUJT4ANzJCZyrLNp1eYCbr4jEeK+7cLxRxzSf4M/8bFNSqXJ8L4ODRLvFm2zagJT
bQgpJDKcR3UwqoHUl4Cfknw++p4w03Hx7191cXH+OS1HAgMBAAGjZjBkMB0GA1Ud
DgQWBBSQxJ5QdPZszi46nfFlikou/tauwzAfBgNVHSMEGDAWgBTYsCwyeYbRwATw
UuxxekErGqVHaTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAN
BgkqhkiG9w0BAQsFAAOCAgEAn+hzVAQgjSvS49O0RuhKt5wggVXaNmx6H+QFfvLm
VMiSr0ILjVfjjTw76Ogk+q5CKpne4PsQ5Aw6YKzM7jINCA5cLQ1OVN53HxJOjXzP
B1aSeEcIRbCBQOomMBzP1yzf6lBkpTK1tpYvGBosLjCQyYwu+Ty52bT+NEbAoqYd
J0LXzEJeW5xN9AN+bWJ1IVemjCgyAa6MmWlCiYveHcO7/DkfLmi8JZj60ynPjkNZ
8CWpdSOzLFwVRSy5YMLluTcdjIgCdgYrBwFxQ4+/QX9V+iRJ7QxRKNbSM5ZZE948
VvYWB3oZEPrRv4Rji5Geedy8xhXe9dAgPkeYY7Ra9i6MyisiLcSqScG+k0hMHmbF
5NhJiToUJaZcff1wfBUBKDoSmeCNdDzxtWODIa4ouh7T/7Jitk9Ps4OV8MBJC2zE
c0vKplgxKdCWA2luJHkFOrKWQgwN+ypdbbCZ0pcQS2pJ7w53QlVKf4Y4qlO+uJLs
pTMlem0rmV6Y8u0K+lGk0keGKz5stzLhk9LeKxiXqnh4pv0DvGUScfdOa75d9IYh
JZy7/KNgNYFdW/FgqXKzlbA1nv3NBl7dVYXQ3ICnRje1UHK0IlXcy3fY3ajKD+8o
+FtpOVp65U17XFS6yBbejSnfVsrrHi2HMHkLTot9SCn1E8LS//pFKW+992kENvVI
P5o=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGezCCBGOgAwIBAgIUJZ5ElNKY4dnFET+p9yIObZSierkwDQYJKoZIhvcNAQEL
BQAwgcQxCzAJBgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24x
FDASBgNVBAcMC0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0
aW9uIEx0ZDE2MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBSb290IENBMB4XDTIxMDkyNDIyMDEzN1oXDTM3MDkyMDIyMDEzN1owgcQxCzAJ
BgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcM
C0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2
MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0
aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENB
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt5LGz+dNpCBb3gk9Av4L
zzrMseZilNtJrr8afOmBgZw06TVPwutVah5PrXj3EbACE+JdO9c31WrxJiyym2CO
vZCYDtveiIN+o3U84STQ6s5tqQReqopoEHTjYXafSTkjeY5u51IM3kksic5HDYCe
g9xEwlWUXYNb7PtKUlNnZOgEhO3AK6OOPMp/0ApQX6ScDU0EjPQ7y5wFrSqRqCBB
yyYvJd9aG9vmwdckESoKxNo1HXEV0V/6SH4D3scKVKJB148e9zbjvd2U+SJ29/AQ
NsoDE7SeG+wDRc1f2jhXiaopg/mNjE63w8+whQsN98CbO+HuoI7dR5AgMZ2xDrA1
JgWahT10gpA5OIS0V/6flTYIyMKSBURM0QfHxz887VBwHoPHYb3xc50yH6OemoMS
ZtcbGlCqIi9if/9vgaEZNYRjJZEkhHLFem9sn1n1IfeIutyR2pbUbo2sJvnldCk1
ePzn24nbGJLQvpv8PZg01wI0HCTfFdC28VbwMPC7vsm2EfP9+qKVhQ6JCzFewo1t
0EpF49HwZqAR1oAXXxLYiP+O9/MsYzJ12RNjpL75R9PzD7bU7Dw9Qjk6r6C7FTlT
MID4gsCHfwUTUiVtMlXwc33WM5ucifhmfX/eCvM2g8fbygf+LcvKPaoUGnF3IULb
G3IELyx1Ye9wAZGJO7T1IIMCAwEAAaNjMGEwHQYDVR0OBBYEFNiwLDJ5htHABPBS
7HF6QSsapUdpMB8GA1UdIwQYMBaAFNiwLDJ5htHABPBS7HF6QSsapUdpMA8GA1Ud
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA/
V8LKw2S2RoN063jX3G2Q+U9hbQsE8t6xYvxjiu+TJrJUUcU1PrlV6iNSbWaVPARr
6noY3/6zK9kxXQryvgjVK6ckPTEaaYST7iKGgBtJkYU354cACPtybt0GrXvqTEQc
Aly8/2mJ+/X6/ZadwVeJV6XswHqc8466/KEeKThm62mWHgAX26i98FMzFlQryFYs
CnQq0EIv5Zg7uFRKt0Z/pCosU8+JFX42UKnRVbsMMjZMOVxAhe8QBvMA7bkw0P1o
0GSY++mhKAORAUi0/jPCfj5Y+ot+VWpSgVHVxpo6EuefgNQl7c1KmaESur4ToW0a
va/VpxGFgbRUJJAgLg59uRAs3WvUqCCw2p9M2K6xbMiqAZYKRVoK3J6EB7REFypD
c/vaJfFXJyUmgKgW1eeWODqIOvhhkdi1tfx8YDBXNjk519Engrd0nTY06g7O3B9D
V0dajcylfSTeFxaQLa6jF5Qs6rE655wLS7I8SpmYZ4Eevqwl6nU1GffD7JnthZEl
c7G74iB68ksqQcjhpNwt+eg/LzokmybKnzK5QMnxDisttR9qhhcM+p+kIiy9XC82
8GMUkdw6eG8VUqnkcRIADffaWuVwcH6fwWBqq4Ju9LVpVbm97jeQ/GszFYGyANba
/vu1wRYPkcWgrFXN/UlbKra5RNFmHesrQ5gcRXsR7Q==
-----END CERTIFICATE-----
+44
View File
@@ -0,0 +1,44 @@
-----BEGIN CERTIFICATE-----
MIIHujCCBaKgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbYxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUg
Q29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9y
YXRpb24gTHRkIEludGVybWVkaWF0ZSBDQTAeFw0yMTA5MjQyMjEwMjFaFw0zMTA5
MjIyMjEwMjFaMIHNMQswCQYDVQQGEwJSVTEbMBkGA1UECAwSS2FsaW5pbmdyYWQg
UmVnaW9uMRQwEgYDVQQHDAtLYWxpbmluZ3JhZDEgMB4GA1UECgwXRXhhbXBsZSBD
b3Jwb3JhdGlvbiBMdGQxMDAuBgNVBAsMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IFFBIFdlYiBTZXJ2aWNlczEWMBQGA1UEAwwNKi5leGFtcGxlLmNvbTEfMB0GCSqG
SIb3DQEJARYQaW5mb0BleGFtcGxlLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBALuhbo3Xt4ot38eGjAJpdLZfALyCqH1iqWNXuVpnaUL8JNzv+pQH
BIf9IJpe7VzLgTQTBE+WtvSgIJmaLdlUOnlLSxO4c1l+nyTBa8ckQXHtuYEAggJ2
MqdYTs0R6O//ee+abDPYGgwa/SDR6J9ocPe2y/Ya1QIJcAgliKwHFGibNaANzDFU
r3WlukgXJU3bqHgxi/77DQWgCkUWGfnlQ1xFqDrH2Oila7CobAnim9RZmHBVDgb+
btIXikJks9yHSzh1Ev1EVsSFSF48tFQE7ZydNI6z6KedkpHJU2CzWEJXBzsJck3o
0DxpE/AjQzctBYSVloo1uIBkJSHlkpi0g84h6DHAuYtUODaXQN/3OR1oLYCEgsUk
1DoCM9LxR7C90ocU0cyl0DXWm3R3+zLRm+nvutrZINaUeBYXVVTNsUOO1KIYxb6a
5iVSLgP62BelEqwiqaxPkijCGmFMeOa41DqsvASGdZhbjlbzQOegwLShl/t1BRY0
/fpYgFhFe+YdnCn6JtFnKDYJlgxg+kekK5EQp1uHDLcIPBJyRQ1qzA6iJWrzL5Jk
3HzRznQE6LwW8JQR81KJskDvmZGHpgM40byOs2iLAe1udlwgGsF3Mu2qI/2dTe5k
C4k8eWsjbq166OoRIc1SDorD8emCobwrSeE0++JcChM0tJIPHYg0x4WzAgMBAAGj
ggG3MIIBszAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC
AQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUgZm9yIFFBMB0GA1Ud
DgQWBBSuM/p3euZL9tN/yakfM64+AFSdWDCB8gYDVR0jBIHqMIHngBSQxJ5QdPZs
zi46nfFlikou/tauw6GByqSBxzCBxDELMAkGA1UEBhMCUlUxGzAZBgNVBAgMEkth
bGluaW5ncmFkIFJlZ2lvbjEUMBIGA1UEBwwLS2FsaW5pbmdyYWQxIDAeBgNVBAoM
F0V4YW1wbGUgQ29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBv
cmF0aW9uIEx0ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKDAmBgNVBAMMH0V4YW1w
bGUgQ29ycG9yYXRpb24gTHRkIFJvb3QgQ0GCAhAAMA4GA1UdDwEB/wQEAwIF4DAT
BgNVHSUEDDAKBggrBgEFBQcDATAlBgNVHREEHjAcggtleGFtcGxlLmNvbYINKi5l
eGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAYUq5j+SX6oL8CIEzUmyUv5Ud
fBQwMvNcPF8bAyFGip7KnjJIOyvBdgfAhiXyiDobphcAOzWgY2eAaoWzSBjW+JnB
dDB4cROeG0MJwYq3ScTCsyfkxe6uVvyjy6mLw380eo2A0phW/UqSxOOTnL1uMo6K
StzuQa0AOLkZmPekWtP/WKWmwG1HnBlrDEOTHXPhxVQWLylfCxJXJpRgh2PQwCwI
mOTX/wfWnutqWyLyWsyy37vQ8IEAUaBY7NbHQgTE93Qrfhyb1/d0FdDT8xF/XgQo
1JU/xfEeDZJMbwLUITv7Yl5zFwSXcDhjgA0d27hxJHPGEp9S/xIpyQ/FVzkimt+W
QU4I34SkITLYpble3I9PBK0QqBWQw7SRVwIWLinrGc1bb16rPlfijLutXI56JVjC
qaUV7HiTS5uL4F4Agdr1Ax+LynE1V+FRTsQSvdEe2BPFVIv9IMxMlMniYJdTeTf+
Z4iGHLHotutklp6my57cirM08g+gKQQBJFlcs66QZj9SZ2vTMvB7QLQ3iYX0jo/6
Hj7c2wfy+1CQ3AbbrAPSgDlconz7SCH2VON5lydY6ltPB6GnwMYK/dQq0WqpKjvR
0QG2HUbysUvtDmQAaqleVQoDz8BC5+p301gL2OhbS8eEfubjQTidYgvcu2H0NkkX
oQkUKWwNA2HY4IiO2e4=
-----END CERTIFICATE-----
+81
View File
@@ -0,0 +1,81 @@
-----BEGIN CERTIFICATE-----
MIIHujCCBaKgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbYxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUg
Q29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9y
YXRpb24gTHRkIEludGVybWVkaWF0ZSBDQTAeFw0yMTA5MjQyMjEwMjFaFw0zMTA5
MjIyMjEwMjFaMIHNMQswCQYDVQQGEwJSVTEbMBkGA1UECAwSS2FsaW5pbmdyYWQg
UmVnaW9uMRQwEgYDVQQHDAtLYWxpbmluZ3JhZDEgMB4GA1UECgwXRXhhbXBsZSBD
b3Jwb3JhdGlvbiBMdGQxMDAuBgNVBAsMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IFFBIFdlYiBTZXJ2aWNlczEWMBQGA1UEAwwNKi5leGFtcGxlLmNvbTEfMB0GCSqG
SIb3DQEJARYQaW5mb0BleGFtcGxlLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBALuhbo3Xt4ot38eGjAJpdLZfALyCqH1iqWNXuVpnaUL8JNzv+pQH
BIf9IJpe7VzLgTQTBE+WtvSgIJmaLdlUOnlLSxO4c1l+nyTBa8ckQXHtuYEAggJ2
MqdYTs0R6O//ee+abDPYGgwa/SDR6J9ocPe2y/Ya1QIJcAgliKwHFGibNaANzDFU
r3WlukgXJU3bqHgxi/77DQWgCkUWGfnlQ1xFqDrH2Oila7CobAnim9RZmHBVDgb+
btIXikJks9yHSzh1Ev1EVsSFSF48tFQE7ZydNI6z6KedkpHJU2CzWEJXBzsJck3o
0DxpE/AjQzctBYSVloo1uIBkJSHlkpi0g84h6DHAuYtUODaXQN/3OR1oLYCEgsUk
1DoCM9LxR7C90ocU0cyl0DXWm3R3+zLRm+nvutrZINaUeBYXVVTNsUOO1KIYxb6a
5iVSLgP62BelEqwiqaxPkijCGmFMeOa41DqsvASGdZhbjlbzQOegwLShl/t1BRY0
/fpYgFhFe+YdnCn6JtFnKDYJlgxg+kekK5EQp1uHDLcIPBJyRQ1qzA6iJWrzL5Jk
3HzRznQE6LwW8JQR81KJskDvmZGHpgM40byOs2iLAe1udlwgGsF3Mu2qI/2dTe5k
C4k8eWsjbq166OoRIc1SDorD8emCobwrSeE0++JcChM0tJIPHYg0x4WzAgMBAAGj
ggG3MIIBszAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC
AQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUgZm9yIFFBMB0GA1Ud
DgQWBBSuM/p3euZL9tN/yakfM64+AFSdWDCB8gYDVR0jBIHqMIHngBSQxJ5QdPZs
zi46nfFlikou/tauw6GByqSBxzCBxDELMAkGA1UEBhMCUlUxGzAZBgNVBAgMEkth
bGluaW5ncmFkIFJlZ2lvbjEUMBIGA1UEBwwLS2FsaW5pbmdyYWQxIDAeBgNVBAoM
F0V4YW1wbGUgQ29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBv
cmF0aW9uIEx0ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKDAmBgNVBAMMH0V4YW1w
bGUgQ29ycG9yYXRpb24gTHRkIFJvb3QgQ0GCAhAAMA4GA1UdDwEB/wQEAwIF4DAT
BgNVHSUEDDAKBggrBgEFBQcDATAlBgNVHREEHjAcggtleGFtcGxlLmNvbYINKi5l
eGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAYUq5j+SX6oL8CIEzUmyUv5Ud
fBQwMvNcPF8bAyFGip7KnjJIOyvBdgfAhiXyiDobphcAOzWgY2eAaoWzSBjW+JnB
dDB4cROeG0MJwYq3ScTCsyfkxe6uVvyjy6mLw380eo2A0phW/UqSxOOTnL1uMo6K
StzuQa0AOLkZmPekWtP/WKWmwG1HnBlrDEOTHXPhxVQWLylfCxJXJpRgh2PQwCwI
mOTX/wfWnutqWyLyWsyy37vQ8IEAUaBY7NbHQgTE93Qrfhyb1/d0FdDT8xF/XgQo
1JU/xfEeDZJMbwLUITv7Yl5zFwSXcDhjgA0d27hxJHPGEp9S/xIpyQ/FVzkimt+W
QU4I34SkITLYpble3I9PBK0QqBWQw7SRVwIWLinrGc1bb16rPlfijLutXI56JVjC
qaUV7HiTS5uL4F4Agdr1Ax+LynE1V+FRTsQSvdEe2BPFVIv9IMxMlMniYJdTeTf+
Z4iGHLHotutklp6my57cirM08g+gKQQBJFlcs66QZj9SZ2vTMvB7QLQ3iYX0jo/6
Hj7c2wfy+1CQ3AbbrAPSgDlconz7SCH2VON5lydY6ltPB6GnwMYK/dQq0WqpKjvR
0QG2HUbysUvtDmQAaqleVQoDz8BC5+p301gL2OhbS8eEfubjQTidYgvcu2H0NkkX
oQkUKWwNA2HY4IiO2e4=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgcQxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcMC0thbGluaW5n
cmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2MDQGA1UECwwt
RXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSgw
JgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENBMB4XDTIxMDky
NDIyMDEzN1oXDTMzMDkyMTIyMDEzN1owgbYxCzAJBgNVBAYTAlJVMRswGQYDVQQI
DBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUgQ29ycG9yYXRp
b24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMHB34FLQKB1vrdXOViiK/jsoS9W9YWl5eFTelbIacFoh5JmDAP+wR3/mjDvQVUN
24qavPuCnkGsXvh23vXzofulm2ItoL8vVMwwzdrSBpdXkQhFu9yryFN6DrRdDHFi
M0ck0+IBCce0qbm3jHz+HhrTfWxcxKYWW97IOS4lmRjMsUCGNa0aL9RmNkHkOGwz
D8d9VyJA0SMrE+oOZTWKXieOC+NPGT9K6Ei5/EX64pcq5Pgefma2qaSNWJDzk3FZ
32YfTX0OyHvJLD8FthWfXouxBaaxmgGoPaTGS4EFfmA27fxEZJFZb3WBr8RJLUxq
X9NUZt23XqLyr5sJN3UvCgJNsGx5fNXPqZDHxZhYLTL+C2nAZu2D3YOqMlhL/czl
PWtSInuGkeO5DrBw+JoIVyV6yylLao7q0aEpLPIYcpbDhLH0VWLpdVWnizyBTBvB
gkahU37JSFOJHRc/B7/6NkDgsK1MJuOYsPz1k9Vl5fvocCp1Y7F2wpICpWNS8FF3
emaXt129WLQ6647+YxOJc+L3YlBnbN2M8M/aDUk2ukha69sxvhMCYOqIrUhAey6K
eUJT4ANzJCZyrLNp1eYCbr4jEeK+7cLxRxzSf4M/8bFNSqXJ8L4ODRLvFm2zagJT
bQgpJDKcR3UwqoHUl4Cfknw++p4w03Hx7191cXH+OS1HAgMBAAGjZjBkMB0GA1Ud
DgQWBBSQxJ5QdPZszi46nfFlikou/tauwzAfBgNVHSMEGDAWgBTYsCwyeYbRwATw
UuxxekErGqVHaTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAN
BgkqhkiG9w0BAQsFAAOCAgEAn+hzVAQgjSvS49O0RuhKt5wggVXaNmx6H+QFfvLm
VMiSr0ILjVfjjTw76Ogk+q5CKpne4PsQ5Aw6YKzM7jINCA5cLQ1OVN53HxJOjXzP
B1aSeEcIRbCBQOomMBzP1yzf6lBkpTK1tpYvGBosLjCQyYwu+Ty52bT+NEbAoqYd
J0LXzEJeW5xN9AN+bWJ1IVemjCgyAa6MmWlCiYveHcO7/DkfLmi8JZj60ynPjkNZ
8CWpdSOzLFwVRSy5YMLluTcdjIgCdgYrBwFxQ4+/QX9V+iRJ7QxRKNbSM5ZZE948
VvYWB3oZEPrRv4Rji5Geedy8xhXe9dAgPkeYY7Ra9i6MyisiLcSqScG+k0hMHmbF
5NhJiToUJaZcff1wfBUBKDoSmeCNdDzxtWODIa4ouh7T/7Jitk9Ps4OV8MBJC2zE
c0vKplgxKdCWA2luJHkFOrKWQgwN+ypdbbCZ0pcQS2pJ7w53QlVKf4Y4qlO+uJLs
pTMlem0rmV6Y8u0K+lGk0keGKz5stzLhk9LeKxiXqnh4pv0DvGUScfdOa75d9IYh
JZy7/KNgNYFdW/FgqXKzlbA1nv3NBl7dVYXQ3ICnRje1UHK0IlXcy3fY3ajKD+8o
+FtpOVp65U17XFS6yBbejSnfVsrrHi2HMHkLTot9SCn1E8LS//pFKW+992kENvVI
P5o=
-----END CERTIFICATE-----
+13
View File
@@ -0,0 +1,13 @@
-----BEGIN DH PARAMETERS-----
MIICCAKCAgEAovFUNRNIZ5euF8tx/KUe3mRMfTNYGvz9prWG3baAg5XWssM/DLaC
ci9z6A9M36R8sFZogGenp5H8VHCTF0JBe4DkmB389m8z6qY7rk5viq/S3buOxo41
sSqVUZkDF9dnAoT0eFSgbJXieg30gVsxxtxdNfGb3A/42fjlxhzo/4tK7aShhKv8
YXV1kCPAWPGsqmnXZeia8VVKmAnao6TLpSLbn2gEo77TsyHKKVb+qvfldwqfqgkc
jGP4IT1E6MxvAjOliDxE/99OcO1yCDvHZGVJ9GtskXFVJI2spjUvL2oRFYJvW+Cv
NrBjd2e4x6h+WINNp/bvLv3oDhZ75sPN+2PCpq6IFS2KX+yJWG9z82Gv2YDg6VpA
AwVRHOFqiltbi6s5xSdGF5sExDcUyNCb52GPC3u7UiewpC7ZRL0TsNYmx5Kdb5cs
ST8x/rCJAIsRN9czccIh9Hc96A40v1ZW0N848pGh6Rbgb/cz3EDJMFIiHOr4ZcOf
qbvA9//yU94F5Ctiv54neO9uKeIecx0LILDRpz5dPmZIy69pdkc9/2JNB2fqdL6j
8CW+3z0Dq2z0o3xOnOBwNA0fSNGHEjA4CqlolGevGkFEMIBXBYqz0xq8vSwKF6AC
Ex/W58agi8B61hH4XKFBokD/RkLlN/Ulf2LTaTQOTalcGQDQR1uHWo8CAQI=
-----END DH PARAMETERS-----
+118
View File
@@ -0,0 +1,118 @@
-----BEGIN CERTIFICATE-----
MIIHujCCBaKgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbYxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUg
Q29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9y
YXRpb24gTHRkIEludGVybWVkaWF0ZSBDQTAeFw0yMTA5MjQyMjEwMjFaFw0zMTA5
MjIyMjEwMjFaMIHNMQswCQYDVQQGEwJSVTEbMBkGA1UECAwSS2FsaW5pbmdyYWQg
UmVnaW9uMRQwEgYDVQQHDAtLYWxpbmluZ3JhZDEgMB4GA1UECgwXRXhhbXBsZSBD
b3Jwb3JhdGlvbiBMdGQxMDAuBgNVBAsMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IFFBIFdlYiBTZXJ2aWNlczEWMBQGA1UEAwwNKi5leGFtcGxlLmNvbTEfMB0GCSqG
SIb3DQEJARYQaW5mb0BleGFtcGxlLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
ADCCAgoCggIBALuhbo3Xt4ot38eGjAJpdLZfALyCqH1iqWNXuVpnaUL8JNzv+pQH
BIf9IJpe7VzLgTQTBE+WtvSgIJmaLdlUOnlLSxO4c1l+nyTBa8ckQXHtuYEAggJ2
MqdYTs0R6O//ee+abDPYGgwa/SDR6J9ocPe2y/Ya1QIJcAgliKwHFGibNaANzDFU
r3WlukgXJU3bqHgxi/77DQWgCkUWGfnlQ1xFqDrH2Oila7CobAnim9RZmHBVDgb+
btIXikJks9yHSzh1Ev1EVsSFSF48tFQE7ZydNI6z6KedkpHJU2CzWEJXBzsJck3o
0DxpE/AjQzctBYSVloo1uIBkJSHlkpi0g84h6DHAuYtUODaXQN/3OR1oLYCEgsUk
1DoCM9LxR7C90ocU0cyl0DXWm3R3+zLRm+nvutrZINaUeBYXVVTNsUOO1KIYxb6a
5iVSLgP62BelEqwiqaxPkijCGmFMeOa41DqsvASGdZhbjlbzQOegwLShl/t1BRY0
/fpYgFhFe+YdnCn6JtFnKDYJlgxg+kekK5EQp1uHDLcIPBJyRQ1qzA6iJWrzL5Jk
3HzRznQE6LwW8JQR81KJskDvmZGHpgM40byOs2iLAe1udlwgGsF3Mu2qI/2dTe5k
C4k8eWsjbq166OoRIc1SDorD8emCobwrSeE0++JcChM0tJIPHYg0x4WzAgMBAAGj
ggG3MIIBszAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAzBglghkgBhvhC
AQ0EJhYkT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUgZm9yIFFBMB0GA1Ud
DgQWBBSuM/p3euZL9tN/yakfM64+AFSdWDCB8gYDVR0jBIHqMIHngBSQxJ5QdPZs
zi46nfFlikou/tauw6GByqSBxzCBxDELMAkGA1UEBhMCUlUxGzAZBgNVBAgMEkth
bGluaW5ncmFkIFJlZ2lvbjEUMBIGA1UEBwwLS2FsaW5pbmdyYWQxIDAeBgNVBAoM
F0V4YW1wbGUgQ29ycG9yYXRpb24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBv
cmF0aW9uIEx0ZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxKDAmBgNVBAMMH0V4YW1w
bGUgQ29ycG9yYXRpb24gTHRkIFJvb3QgQ0GCAhAAMA4GA1UdDwEB/wQEAwIF4DAT
BgNVHSUEDDAKBggrBgEFBQcDATAlBgNVHREEHjAcggtleGFtcGxlLmNvbYINKi5l
eGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAYUq5j+SX6oL8CIEzUmyUv5Ud
fBQwMvNcPF8bAyFGip7KnjJIOyvBdgfAhiXyiDobphcAOzWgY2eAaoWzSBjW+JnB
dDB4cROeG0MJwYq3ScTCsyfkxe6uVvyjy6mLw380eo2A0phW/UqSxOOTnL1uMo6K
StzuQa0AOLkZmPekWtP/WKWmwG1HnBlrDEOTHXPhxVQWLylfCxJXJpRgh2PQwCwI
mOTX/wfWnutqWyLyWsyy37vQ8IEAUaBY7NbHQgTE93Qrfhyb1/d0FdDT8xF/XgQo
1JU/xfEeDZJMbwLUITv7Yl5zFwSXcDhjgA0d27hxJHPGEp9S/xIpyQ/FVzkimt+W
QU4I34SkITLYpble3I9PBK0QqBWQw7SRVwIWLinrGc1bb16rPlfijLutXI56JVjC
qaUV7HiTS5uL4F4Agdr1Ax+LynE1V+FRTsQSvdEe2BPFVIv9IMxMlMniYJdTeTf+
Z4iGHLHotutklp6my57cirM08g+gKQQBJFlcs66QZj9SZ2vTMvB7QLQ3iYX0jo/6
Hj7c2wfy+1CQ3AbbrAPSgDlconz7SCH2VON5lydY6ltPB6GnwMYK/dQq0WqpKjvR
0QG2HUbysUvtDmQAaqleVQoDz8BC5+p301gL2OhbS8eEfubjQTidYgvcu2H0NkkX
oQkUKWwNA2HY4IiO2e4=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgcQxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcMC0thbGluaW5n
cmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2MDQGA1UECwwt
RXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSgw
JgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENBMB4XDTIxMDky
NDIyMDEzN1oXDTMzMDkyMTIyMDEzN1owgbYxCzAJBgNVBAYTAlJVMRswGQYDVQQI
DBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUgQ29ycG9yYXRp
b24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMHB34FLQKB1vrdXOViiK/jsoS9W9YWl5eFTelbIacFoh5JmDAP+wR3/mjDvQVUN
24qavPuCnkGsXvh23vXzofulm2ItoL8vVMwwzdrSBpdXkQhFu9yryFN6DrRdDHFi
M0ck0+IBCce0qbm3jHz+HhrTfWxcxKYWW97IOS4lmRjMsUCGNa0aL9RmNkHkOGwz
D8d9VyJA0SMrE+oOZTWKXieOC+NPGT9K6Ei5/EX64pcq5Pgefma2qaSNWJDzk3FZ
32YfTX0OyHvJLD8FthWfXouxBaaxmgGoPaTGS4EFfmA27fxEZJFZb3WBr8RJLUxq
X9NUZt23XqLyr5sJN3UvCgJNsGx5fNXPqZDHxZhYLTL+C2nAZu2D3YOqMlhL/czl
PWtSInuGkeO5DrBw+JoIVyV6yylLao7q0aEpLPIYcpbDhLH0VWLpdVWnizyBTBvB
gkahU37JSFOJHRc/B7/6NkDgsK1MJuOYsPz1k9Vl5fvocCp1Y7F2wpICpWNS8FF3
emaXt129WLQ6647+YxOJc+L3YlBnbN2M8M/aDUk2ukha69sxvhMCYOqIrUhAey6K
eUJT4ANzJCZyrLNp1eYCbr4jEeK+7cLxRxzSf4M/8bFNSqXJ8L4ODRLvFm2zagJT
bQgpJDKcR3UwqoHUl4Cfknw++p4w03Hx7191cXH+OS1HAgMBAAGjZjBkMB0GA1Ud
DgQWBBSQxJ5QdPZszi46nfFlikou/tauwzAfBgNVHSMEGDAWgBTYsCwyeYbRwATw
UuxxekErGqVHaTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAN
BgkqhkiG9w0BAQsFAAOCAgEAn+hzVAQgjSvS49O0RuhKt5wggVXaNmx6H+QFfvLm
VMiSr0ILjVfjjTw76Ogk+q5CKpne4PsQ5Aw6YKzM7jINCA5cLQ1OVN53HxJOjXzP
B1aSeEcIRbCBQOomMBzP1yzf6lBkpTK1tpYvGBosLjCQyYwu+Ty52bT+NEbAoqYd
J0LXzEJeW5xN9AN+bWJ1IVemjCgyAa6MmWlCiYveHcO7/DkfLmi8JZj60ynPjkNZ
8CWpdSOzLFwVRSy5YMLluTcdjIgCdgYrBwFxQ4+/QX9V+iRJ7QxRKNbSM5ZZE948
VvYWB3oZEPrRv4Rji5Geedy8xhXe9dAgPkeYY7Ra9i6MyisiLcSqScG+k0hMHmbF
5NhJiToUJaZcff1wfBUBKDoSmeCNdDzxtWODIa4ouh7T/7Jitk9Ps4OV8MBJC2zE
c0vKplgxKdCWA2luJHkFOrKWQgwN+ypdbbCZ0pcQS2pJ7w53QlVKf4Y4qlO+uJLs
pTMlem0rmV6Y8u0K+lGk0keGKz5stzLhk9LeKxiXqnh4pv0DvGUScfdOa75d9IYh
JZy7/KNgNYFdW/FgqXKzlbA1nv3NBl7dVYXQ3ICnRje1UHK0IlXcy3fY3ajKD+8o
+FtpOVp65U17XFS6yBbejSnfVsrrHi2HMHkLTot9SCn1E8LS//pFKW+992kENvVI
P5o=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIGezCCBGOgAwIBAgIUJZ5ElNKY4dnFET+p9yIObZSierkwDQYJKoZIhvcNAQEL
BQAwgcQxCzAJBgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24x
FDASBgNVBAcMC0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0
aW9uIEx0ZDE2MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBSb290IENBMB4XDTIxMDkyNDIyMDEzN1oXDTM3MDkyMDIyMDEzN1owgcQxCzAJ
BgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcM
C0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2
MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0
aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENB
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt5LGz+dNpCBb3gk9Av4L
zzrMseZilNtJrr8afOmBgZw06TVPwutVah5PrXj3EbACE+JdO9c31WrxJiyym2CO
vZCYDtveiIN+o3U84STQ6s5tqQReqopoEHTjYXafSTkjeY5u51IM3kksic5HDYCe
g9xEwlWUXYNb7PtKUlNnZOgEhO3AK6OOPMp/0ApQX6ScDU0EjPQ7y5wFrSqRqCBB
yyYvJd9aG9vmwdckESoKxNo1HXEV0V/6SH4D3scKVKJB148e9zbjvd2U+SJ29/AQ
NsoDE7SeG+wDRc1f2jhXiaopg/mNjE63w8+whQsN98CbO+HuoI7dR5AgMZ2xDrA1
JgWahT10gpA5OIS0V/6flTYIyMKSBURM0QfHxz887VBwHoPHYb3xc50yH6OemoMS
ZtcbGlCqIi9if/9vgaEZNYRjJZEkhHLFem9sn1n1IfeIutyR2pbUbo2sJvnldCk1
ePzn24nbGJLQvpv8PZg01wI0HCTfFdC28VbwMPC7vsm2EfP9+qKVhQ6JCzFewo1t
0EpF49HwZqAR1oAXXxLYiP+O9/MsYzJ12RNjpL75R9PzD7bU7Dw9Qjk6r6C7FTlT
MID4gsCHfwUTUiVtMlXwc33WM5ucifhmfX/eCvM2g8fbygf+LcvKPaoUGnF3IULb
G3IELyx1Ye9wAZGJO7T1IIMCAwEAAaNjMGEwHQYDVR0OBBYEFNiwLDJ5htHABPBS
7HF6QSsapUdpMB8GA1UdIwQYMBaAFNiwLDJ5htHABPBS7HF6QSsapUdpMA8GA1Ud
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA/
V8LKw2S2RoN063jX3G2Q+U9hbQsE8t6xYvxjiu+TJrJUUcU1PrlV6iNSbWaVPARr
6noY3/6zK9kxXQryvgjVK6ckPTEaaYST7iKGgBtJkYU354cACPtybt0GrXvqTEQc
Aly8/2mJ+/X6/ZadwVeJV6XswHqc8466/KEeKThm62mWHgAX26i98FMzFlQryFYs
CnQq0EIv5Zg7uFRKt0Z/pCosU8+JFX42UKnRVbsMMjZMOVxAhe8QBvMA7bkw0P1o
0GSY++mhKAORAUi0/jPCfj5Y+ot+VWpSgVHVxpo6EuefgNQl7c1KmaESur4ToW0a
va/VpxGFgbRUJJAgLg59uRAs3WvUqCCw2p9M2K6xbMiqAZYKRVoK3J6EB7REFypD
c/vaJfFXJyUmgKgW1eeWODqIOvhhkdi1tfx8YDBXNjk519Engrd0nTY06g7O3B9D
V0dajcylfSTeFxaQLa6jF5Qs6rE655wLS7I8SpmYZ4Eevqwl6nU1GffD7JnthZEl
c7G74iB68ksqQcjhpNwt+eg/LzokmybKnzK5QMnxDisttR9qhhcM+p+kIiy9XC82
8GMUkdw6eG8VUqnkcRIADffaWuVwcH6fwWBqq4Ju9LVpVbm97jeQ/GszFYGyANba
/vu1wRYPkcWgrFXN/UlbKra5RNFmHesrQ5gcRXsR7Q==
-----END CERTIFICATE-----
@@ -0,0 +1,37 @@
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgcQxCzAJBgNVBAYTAlJV
MRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcMC0thbGluaW5n
cmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2MDQGA1UECwwt
RXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSgw
JgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENBMB4XDTIxMDky
NDIyMDEzN1oXDTMzMDkyMTIyMDEzN1owgbYxCzAJBgNVBAYTAlJVMRswGQYDVQQI
DBJLYWxpbmluZ3JhZCBSZWdpb24xIDAeBgNVBAoMF0V4YW1wbGUgQ29ycG9yYXRp
b24gTHRkMTYwNAYDVQQLDC1FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMDAuBgNVBAMMJ0V4YW1wbGUgQ29ycG9yYXRpb24gTHRk
IEludGVybWVkaWF0ZSBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMHB34FLQKB1vrdXOViiK/jsoS9W9YWl5eFTelbIacFoh5JmDAP+wR3/mjDvQVUN
24qavPuCnkGsXvh23vXzofulm2ItoL8vVMwwzdrSBpdXkQhFu9yryFN6DrRdDHFi
M0ck0+IBCce0qbm3jHz+HhrTfWxcxKYWW97IOS4lmRjMsUCGNa0aL9RmNkHkOGwz
D8d9VyJA0SMrE+oOZTWKXieOC+NPGT9K6Ei5/EX64pcq5Pgefma2qaSNWJDzk3FZ
32YfTX0OyHvJLD8FthWfXouxBaaxmgGoPaTGS4EFfmA27fxEZJFZb3WBr8RJLUxq
X9NUZt23XqLyr5sJN3UvCgJNsGx5fNXPqZDHxZhYLTL+C2nAZu2D3YOqMlhL/czl
PWtSInuGkeO5DrBw+JoIVyV6yylLao7q0aEpLPIYcpbDhLH0VWLpdVWnizyBTBvB
gkahU37JSFOJHRc/B7/6NkDgsK1MJuOYsPz1k9Vl5fvocCp1Y7F2wpICpWNS8FF3
emaXt129WLQ6647+YxOJc+L3YlBnbN2M8M/aDUk2ukha69sxvhMCYOqIrUhAey6K
eUJT4ANzJCZyrLNp1eYCbr4jEeK+7cLxRxzSf4M/8bFNSqXJ8L4ODRLvFm2zagJT
bQgpJDKcR3UwqoHUl4Cfknw++p4w03Hx7191cXH+OS1HAgMBAAGjZjBkMB0GA1Ud
DgQWBBSQxJ5QdPZszi46nfFlikou/tauwzAfBgNVHSMEGDAWgBTYsCwyeYbRwATw
UuxxekErGqVHaTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAN
BgkqhkiG9w0BAQsFAAOCAgEAn+hzVAQgjSvS49O0RuhKt5wggVXaNmx6H+QFfvLm
VMiSr0ILjVfjjTw76Ogk+q5CKpne4PsQ5Aw6YKzM7jINCA5cLQ1OVN53HxJOjXzP
B1aSeEcIRbCBQOomMBzP1yzf6lBkpTK1tpYvGBosLjCQyYwu+Ty52bT+NEbAoqYd
J0LXzEJeW5xN9AN+bWJ1IVemjCgyAa6MmWlCiYveHcO7/DkfLmi8JZj60ynPjkNZ
8CWpdSOzLFwVRSy5YMLluTcdjIgCdgYrBwFxQ4+/QX9V+iRJ7QxRKNbSM5ZZE948
VvYWB3oZEPrRv4Rji5Geedy8xhXe9dAgPkeYY7Ra9i6MyisiLcSqScG+k0hMHmbF
5NhJiToUJaZcff1wfBUBKDoSmeCNdDzxtWODIa4ouh7T/7Jitk9Ps4OV8MBJC2zE
c0vKplgxKdCWA2luJHkFOrKWQgwN+ypdbbCZ0pcQS2pJ7w53QlVKf4Y4qlO+uJLs
pTMlem0rmV6Y8u0K+lGk0keGKz5stzLhk9LeKxiXqnh4pv0DvGUScfdOa75d9IYh
JZy7/KNgNYFdW/FgqXKzlbA1nv3NBl7dVYXQ3ICnRje1UHK0IlXcy3fY3ajKD+8o
+FtpOVp65U17XFS6yBbejSnfVsrrHi2HMHkLTot9SCn1E8LS//pFKW+992kENvVI
P5o=
-----END CERTIFICATE-----
+51
View File
@@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEAu6Fujde3ii3fx4aMAml0tl8AvIKofWKpY1e5WmdpQvwk3O/6
lAcEh/0gml7tXMuBNBMET5a29KAgmZot2VQ6eUtLE7hzWX6fJMFrxyRBce25gQCC
AnYyp1hOzRHo7/9575psM9gaDBr9INHon2hw97bL9hrVAglwCCWIrAcUaJs1oA3M
MVSvdaW6SBclTduoeDGL/vsNBaAKRRYZ+eVDXEWoOsfY6KVrsKhsCeKb1FmYcFUO
Bv5u0heKQmSz3IdLOHUS/URWxIVIXjy0VATtnJ00jrPop52SkclTYLNYQlcHOwly
TejQPGkT8CNDNy0FhJWWijW4gGQlIeWSmLSDziHoMcC5i1Q4NpdA3/c5HWgtgISC
xSTUOgIz0vFHsL3ShxTRzKXQNdabdHf7MtGb6e+62tkg1pR4FhdVVM2xQ47UohjF
vprmJVIuA/rYF6USrCKprE+SKMIaYUx45rjUOqy8BIZ1mFuOVvNA56DAtKGX+3UF
FjT9+liAWEV75h2cKfom0WcoNgmWDGD6R6QrkRCnW4cMtwg8EnJFDWrMDqIlavMv
kmTcfNHOdATovBbwlBHzUomyQO+ZkYemAzjRvI6zaIsB7W52XCAawXcy7aoj/Z1N
7mQLiTx5ayNurXro6hEhzVIOisPx6YKhvCtJ4TT74lwKEzS0kg8diDTHhbMCAwEA
AQKCAgAW9gZlbUSUsFB2RkzT7rvNpYqdhw+/aFd6RL32BjmnbNvF/cgYXVN8oMlg
msVJWc4R5VHdu3/gJ8hVg7ygn+IX/dLOMwBKr2giQ1lBIXqwynqtArbmPjisqe3a
wppS5FyzqZ4cKhHl8VeQsJ9bApjwd3o2P8pZWXZQSOeUxbkFpBjH4WhfkRF3wDQv
pkV2Za8UJlwPdAF/8rnPAoljP18i55NSvioZLkUjdTjjbMvNDLnO5Vm2GWTOaPsO
bOxlzFi0K/+K5tYHbpgQkDUxIvlA9Sv9Wp7aBDpvhMejSc8/Lw8/dkR6rEbvXZyH
AomzMts+AmBNwY02iQrSPxnVfiGy3l6DcrjNSm46ka6Y88sG0fX3A6E5WlJuuUf4
pJO+/Nu/YRssjndmGtXLmikDE/0kaMIhPjYzkr5qZ0VKzkydB65P2SGxrEAKIj3W
hT9mhbLe+Shy4k1hO3xtDELBlAcWcenTNO6PVnO28XkiLs3Dhb9rkCmMLcmRiEmU
3Z4MkMRZ7RgxR8/JsEh4TdsOXOmVLukzKVXmLA8Bvpf1/S3GDYjI6wVx5hmSzalI
UOp02KHx9+XYIWxNUImHWOCUgKsYKaagIgVJLvttCsMYnXut84/QWipcSspLSVp1
bnrJN+AhzmmYsEInE6/NGJRH2tFNJBldi/jow/WJP8NtG96K4QKCAQEA4yVou/F9
AIa8ibib11XOmU7+YrpFbv/l+YFsEWfuskayvsSahvy4mWdCmySwPWiZgi1lym5T
muw5dFggvbbTebNgBjiAC0hxHo3MMH8pWsxaE8TuE2KS5/OO+mJe+ZfI+8+LfoAx
IbKGTrDLUDgENzpCbMuuSF2JrZBKs7fPdgFtq6fKnAlqYaEbD97ellwwaS+5lk3a
zzOV0q5zPYPTXAT39FFu7CgLAy+Uf6hKFhXdWX/lCOC9Qt0QIw1s8xf6im4M7LkU
ALrBNahCaxpT1OzBtXRiLoTiznJHYerKKH+qwh7kQcWmArgqkIXEiSek6m8dEv1Y
/JMmY9+eaEDwRQKCAQEA03cDM6HhBlWDwmsyz7R+RhkVK1oGC4KURDzfxU3VLYy3
Mpo64MZR4kxgVwJD2w5m1s7kxGeiOfYu79zVdsekbBn+zW1cwmDaDM/RjBsDUoeL
QhyqfASSYIvtfqelBlVDT59RXK6o0lb7gXLBR7nFoEf5puVhj787nvbIhQhT+rID
46/660MCTRtbFwhhAtTNChaoHafEB1Pje6fSEI/B3yAdlVP1ZK0Cnx7ftKkWW4va
B33E3Dlb8HGwLM1GbpipemoSsSLTa0mV3c1sxTlOJHL9yiQpmk+uW3Vd8ssEDQmP
ieQrA+/LKPAtP/NZ2UFDZYnIDTd6GIUZyLbtRM/plwKCAQAdfrgQ35S5wsUspPon
hg7jvWwu6b0mYrg8I+AiinpmT+PZ/bGLIbnewZfWiXcRIkn8q2RyWs0katQzFVZ7
DAh93xry89c8n9WAgC0phvmZvrtbodDAV6Z31BqWzLtEcb85Y4Pbk03N8F6cTTy5
V+zENx50/iXNY8gC75+jopSf4CObjJg0lsxnjQH0l54TrDjlD7trlwR4r1wfFWQF
ct65LjP8V66tn61+ZmlEAlhMcd5iRsc41eX9jrMPuiiRkGWKICwxeP7t8VIxY33s
ZmjIV033//rXy42f/RrjzhceFyXXOyesmrup0rxEM/qHTMyPXIpL8vXhJkJv6ZOq
OfR5AoIBAQC9GQbu7Apa7KuXdt8IKAJnUtTAYI9ZSZqmbr04JcLFKblE8fBGwnHE
6MGZ7Pea8wT5gCfIjlfedwxACH2G6z5YQOK+9tXlKFC09j4PiLRu37CjHRlDL59p
4JcvFGEZCbPYhsJuG+3xskDT4DeAmVplWxefrC2TKtH48/waInlejEO4Hs1GBjUP
mK/bJ+4AZyU3qU0Kv9QnLVgWYtsRXkxi58gsmdit/5yBiE1Js46/rI769ffNaymR
GUkOtz4NdkzPn/05E8h1f2cZ4jIrJ3R+WaojUjU1vZ1QQeMSU4M62VrXVwc0TQGi
iSwdrNKi2Z6YNR6E2yA+vv9wokwIpdffAoIBADKy2cZA3iKNUk+f0lRt3RzkqAWw
6HPmb4YrAFjxE7Qvf+QW3T0AjCwd64hFG303CnY6kXK4lknsITM6ndSg5Y+2yiNE
0pl+GEnY08rJ2qHi01F3cso1g4MbuPbnm02nVYbzjTx+a/VWKB51KREsdMVduwol
SCVd1bRGT/GgX4s+AsXWJj/IrOkOm1CBZuJ0d84UeCusQ6WUes+FCiT4DKSAMa8Z
hexjepISN1lQtNKEVEEg2dcR93cXxTkEm8Cq4muXcBAmgv5cTdpj7cZK/xsZHpbg
wnxS4snwq3cAjAmiKC01Lo47aJEIyws4mf8lI/XZaiIDI6bNJU5ctc6ScLY=
-----END RSA PRIVATE KEY-----
+37
View File
@@ -0,0 +1,37 @@
-----BEGIN CERTIFICATE-----
MIIGezCCBGOgAwIBAgIUJZ5ElNKY4dnFET+p9yIObZSierkwDQYJKoZIhvcNAQEL
BQAwgcQxCzAJBgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24x
FDASBgNVBAcMC0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0
aW9uIEx0ZDE2MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0
ZCBSb290IENBMB4XDTIxMDkyNDIyMDEzN1oXDTM3MDkyMDIyMDEzN1owgcQxCzAJ
BgNVBAYTAlJVMRswGQYDVQQIDBJLYWxpbmluZ3JhZCBSZWdpb24xFDASBgNVBAcM
C0thbGluaW5ncmFkMSAwHgYDVQQKDBdFeGFtcGxlIENvcnBvcmF0aW9uIEx0ZDE2
MDQGA1UECwwtRXhhbXBsZSBDb3Jwb3JhdGlvbiBMdGQgQ2VydGlmaWNhdGUgQXV0
aG9yaXR5MSgwJgYDVQQDDB9FeGFtcGxlIENvcnBvcmF0aW9uIEx0ZCBSb290IENB
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt5LGz+dNpCBb3gk9Av4L
zzrMseZilNtJrr8afOmBgZw06TVPwutVah5PrXj3EbACE+JdO9c31WrxJiyym2CO
vZCYDtveiIN+o3U84STQ6s5tqQReqopoEHTjYXafSTkjeY5u51IM3kksic5HDYCe
g9xEwlWUXYNb7PtKUlNnZOgEhO3AK6OOPMp/0ApQX6ScDU0EjPQ7y5wFrSqRqCBB
yyYvJd9aG9vmwdckESoKxNo1HXEV0V/6SH4D3scKVKJB148e9zbjvd2U+SJ29/AQ
NsoDE7SeG+wDRc1f2jhXiaopg/mNjE63w8+whQsN98CbO+HuoI7dR5AgMZ2xDrA1
JgWahT10gpA5OIS0V/6flTYIyMKSBURM0QfHxz887VBwHoPHYb3xc50yH6OemoMS
ZtcbGlCqIi9if/9vgaEZNYRjJZEkhHLFem9sn1n1IfeIutyR2pbUbo2sJvnldCk1
ePzn24nbGJLQvpv8PZg01wI0HCTfFdC28VbwMPC7vsm2EfP9+qKVhQ6JCzFewo1t
0EpF49HwZqAR1oAXXxLYiP+O9/MsYzJ12RNjpL75R9PzD7bU7Dw9Qjk6r6C7FTlT
MID4gsCHfwUTUiVtMlXwc33WM5ucifhmfX/eCvM2g8fbygf+LcvKPaoUGnF3IULb
G3IELyx1Ye9wAZGJO7T1IIMCAwEAAaNjMGEwHQYDVR0OBBYEFNiwLDJ5htHABPBS
7HF6QSsapUdpMB8GA1UdIwQYMBaAFNiwLDJ5htHABPBS7HF6QSsapUdpMA8GA1Ud
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQA/
V8LKw2S2RoN063jX3G2Q+U9hbQsE8t6xYvxjiu+TJrJUUcU1PrlV6iNSbWaVPARr
6noY3/6zK9kxXQryvgjVK6ckPTEaaYST7iKGgBtJkYU354cACPtybt0GrXvqTEQc
Aly8/2mJ+/X6/ZadwVeJV6XswHqc8466/KEeKThm62mWHgAX26i98FMzFlQryFYs
CnQq0EIv5Zg7uFRKt0Z/pCosU8+JFX42UKnRVbsMMjZMOVxAhe8QBvMA7bkw0P1o
0GSY++mhKAORAUi0/jPCfj5Y+ot+VWpSgVHVxpo6EuefgNQl7c1KmaESur4ToW0a
va/VpxGFgbRUJJAgLg59uRAs3WvUqCCw2p9M2K6xbMiqAZYKRVoK3J6EB7REFypD
c/vaJfFXJyUmgKgW1eeWODqIOvhhkdi1tfx8YDBXNjk519Engrd0nTY06g7O3B9D
V0dajcylfSTeFxaQLa6jF5Qs6rE655wLS7I8SpmYZ4Eevqwl6nU1GffD7JnthZEl
c7G74iB68ksqQcjhpNwt+eg/LzokmybKnzK5QMnxDisttR9qhhcM+p+kIiy9XC82
8GMUkdw6eG8VUqnkcRIADffaWuVwcH6fwWBqq4Ju9LVpVbm97jeQ/GszFYGyANba
/vu1wRYPkcWgrFXN/UlbKra5RNFmHesrQ5gcRXsR7Q==
-----END CERTIFICATE-----
+231
View File
@@ -0,0 +1,231 @@
#
# HTTP
#
server {
listen 80;
listen [::]:80;
server_name b24pal.local;
real_ip_header X-Real-IP;
###set_real_ip_from %REAL_IP_FROM%;
#charset utf-8;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php;
root /opt/www;
error_page 404 @bitrix;
error_page 405 =200 @php;
# redirect server error pages to the static page /500.html
error_page 500 502 503 504 /500.html;
location = /500.html {
root /opt/www;
}
# block
include /etc/nginx/inc/block.conf;
# static files
include /etc/nginx/inc/static.conf;
# bx temp
include /etc/nginx/inc/bx_temp.conf;
# composite
#include /etc/nginx/inc/composite.conf;
# push and pull
include /etc/nginx/inc/push.conf;
# clouds storage
include /etc/nginx/inc/clouds.conf;
# proxying
include /etc/nginx/inc/proxy.conf;
# php files processing
location ~ \.php$ {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# for CalDAV/CardDAV/GroupDAV server
include /etc/nginx/inc/dav.conf;
# directories page processing
location / {
index index.php;
try_files $uri $uri/ @bitrix;
}
# php processing
location @php {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# bitrix rewrite
location @bitrix {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php;
#fastcgi_param SCRIPT_FILENAME $document_root/bitrix/routing_index.php;
}
}
#
# HTTPS
#
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name _;
include /etc/nginx/ssl/ssl.conf;
real_ip_header X-Real-IP;
###set_real_ip_from %REAL_IP_FROM%;
#charset utf-8;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php;
root /opt/www;
error_page 404 @bitrix;
error_page 405 =200 @php;
# redirect server error pages to the static page /500.html
error_page 500 502 503 504 /500.html;
location = /500.html {
root /opt/www;
}
# block
include /etc/nginx/inc/block.conf;
# static files
include /etc/nginx/inc/static.conf;
# bx temp
include /etc/nginx/inc/bx_temp.conf;
# composite
#include /etc/nginx/inc/composite.conf;
# push and pull secure
include /etc/nginx/inc/push_secure.conf;
# clouds storage
include /etc/nginx/inc/clouds.conf;
# proxying
include /etc/nginx/inc/proxy.conf;
# php files processing
location ~ \.php$ {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# for CalDAV/CardDAV/GroupDAV server
include /etc/nginx/inc/dav.conf;
# directories page processing
location / {
index index.php;
try_files $uri $uri/ @bitrix;
}
# php processing
location @php {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# bitrix rewrite
location @bitrix {
include fastcgi_params;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php;
#fastcgi_param SCRIPT_FILENAME $document_root/bitrix/routing_index.php;
}
}
#
# HTTP MOBILE
#
server {
listen 8893;
listen [::]:8893;
server_name _;
real_ip_header X-Real-IP;
###set_real_ip_from %REAL_IP_FROM%;
#charset utf-8;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# errors pages
include /etc/nginx/inc/errors.conf;
# block
include /etc/nginx/inc/block.conf;
# push and pull
include /etc/nginx/inc/push.conf;
location / {
index index.html;
root /etc/nginx/blank;
}
}
#
# HTTPS MOBILE
#
server {
listen 8894 ssl;
listen [::]:8894 ssl;
server_name _;
include /etc/nginx/ssl/ssl.conf;
real_ip_header X-Real-IP;
###set_real_ip_from %REAL_IP_FROM%;
#charset utf-8;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# errors pages
include /etc/nginx/inc/errors.conf;
# block
include /etc/nginx/inc/block.conf;
# push and pull secure
include /etc/nginx/inc/push_secure.conf;
location / {
index index.html;
root /etc/nginx/blank;
}
}
#
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>403 Forbidden</title>
</head>
<body>
<div class="error">
<div class="error-fon">403</div>
<div class="error-text-wrap">
<div class="error-text-top">403 Forbidden</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>404 Not Found</title>
</head>
<body>
<div class="error">
<div class="error-fon">404</div>
<div class="error-text-wrap">
<div class="error-text-top">404 Not Found</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>500 System Error</title>
</head>
<body>
<div class="error">
<div class="error-fon">500</div>
<div class="error-text-wrap">
<div class="error-text-top">500 System Error</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>502 Bad Gateway</title>
</head>
<body>
<div class="error">
<div class="error-fon">502</div>
<div class="error-text-wrap">
<div class="error-text-top">502 Bad Gateway</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>503 Service Unavailable</title>
</head>
<body>
<div class="error">
<div class="error-fon">503</div>
<div class="error-text-wrap">
<div class="error-text-top">503 Service Unavailable</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style>
.error {color:#000; height:200px; margin:-100px 0 0 -340px; font-family:Arial, sans-serif; text-align:center; position:absolute; top:50%; text-align:center; left:50%; width:680px;}
.error-fon {font-size:240px; font-weight:bold; line-height:240px; color:#f5f5f5; position:absolute; top:-16px; left:50%; margin-left:-200px; z-index:-1;}
.error-text-top {font-size:40px; margin-top:50px;}
.error-test-separate {border-top:1px solid #f2f2f2; margin-top:10px;}
.error-text-bottom {font-size:20px; margin-top:16px;}
</style>
<title>504 Gateway Timeout</title>
</head>
<body>
<div class="error">
<div class="error-fon">504</div>
<div class="error-text-wrap">
<div class="error-text-top">504 Gateway Timeout</div>
<div class="error-test-separate"></div>
<div class="error-text-bottom">Bitrix Env</div>
</div>
</div>
</body>
</html>
+25
View File
@@ -0,0 +1,25 @@
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
+25
View File
@@ -0,0 +1,25 @@
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
+79
View File
@@ -0,0 +1,79 @@
#
# .ht files: .htpasswd, .htaccess
#
location ~* /\.ht {
deny all;
}
#
# repositories: .svn, .hg, .git
#
location ~* /\.(svn|hg|git) {
deny all;
}
#
# ignore files: .hgignore, .gitignore
#
location ~* /\.(hgignore|gitignore) {
deny all;
}
#
# tmp files without filename: .orig, .bak, .save, .old, .swp
#
location ~* /(\.(orig|bak|save|old|swp)) {
deny all;
}
#
# tmp files with filename: index.orig, index.bak, index.save, index.old, index.swp, index~
#
location ~* /*(\.(orig|bak|save|old|swp)|~)$ {
deny all;
}
#
# macos and windows special files: .DS_Store, Thumbs.db
#
location ~* /(\.DS_Store|Thumbs.db) {
deny all;
}
#
#location ~* /vendor/ {
# deny all;
#}
#
location ~* /composer {
deny all;
}
#
# bitrix internal locations
#
location ~* ^/bitrix/(modules|local_cache|stack_cache|managed_cache|php_interface) {
deny all;
}
#
location ~* ^/bitrix/\.settings\.php {
deny all;
}
#
location ~* ^/bitrix/\.settings_extra\.php {
deny all;
}
#
# upload 1c files
#
location ~* ^/upload/1c_[^/]+/ {
deny all;
}
#
# use the file system to access files outside the site (cache)
#
location ~* /\.\./ {
deny all;
}
#
location ~* ^/bitrix/html_pages/\.config\.php {
deny all;
}
#
location ~* ^/bitrix/html_pages/\.enabled {
deny all;
}
#
+11
View File
@@ -0,0 +1,11 @@
#
location ~* ^/bx_tmp_download/ {
internal;
rewrite /bx_tmp_download/(.+) /.bx_temp/$1 last;
}
#
location ~* ^/.bx_temp/ {
internal;
root /opt;
}
#
+481
View File
@@ -0,0 +1,481 @@
#
# Use nginx to return static content from cloud storage
#
location ^~ /upload/bx_cloud_upload/ {
# Amazon Simple Storage Service
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.(s3|af-south-1|ap-east-1|ap-south-1|ap-south-2|ap-southeast-1|ap-southeast-2|ap-southeast-3|ap-southeast-4|ap-northeast-1|ap-northeast-2|ap-northeast-3|ca-central-1|ca-west-1|cn-north-1|cn-northwest-1|eu-central-1|eu-central-2|eu-west-1|eu-west-2|eu-west-3|eu-south-1|eu-south-2|eu-north-1|il-central-1|me-south-1|me-central-1|sa-east-1|us-east-1|us-east-2|us-west-1|us-west-2|us-gov-east-1|us-gov-west-1)\.amazonaws\.com/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.$3.amazonaws.com/$4;
}
# Google Storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.commondatastorage\.googleapis\.com/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.commondatastorage.googleapis.com/$3;
}
# Rackspace Cloud Files
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.([^/:\s]+)\.([^/:\s]+)\.rackcdn\.com/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.$3.$4.rackcdn.com/$5;
}
# Clodo.ru (old)
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru\:(80|443)/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.clodo.ru:$3/$4;
}
# Clodo.ru
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.clodo.ru/$3;
}
# Selectel
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selcdn\.ru/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.selcdn.ru/$3;
}
# Selectel as S3 compatible storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selstorage\.ru/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.selstorage.ru/$3;
}
# HotBox
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.hb\.bizmrg\.com/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.hb.bizmrg.com/$3;
}
# HotBox
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.hb\.bizmrg\.com/([^\s].+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://hb.bizmrg.com/$2;
}
# Yandex Object Storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.storage\.yandexcloud\.net/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.storage.yandexcloud.net/$3;
}
# Yandex Object Storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.storage\.yandexcloud\.net/([^\s].+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://storage.yandexcloud.net/$2;
}
# S3 compatible storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.io\.activecloud\.com/([^\s]+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://$2.io.activecloud.com/$3;
}
# S3 compatible storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.io\.activecloud\.com/([^\s].+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://io.activecloud.com/$2;
}
# Timeweb.cloud S3 compatible storage
location ~ ^/upload/bx_cloud_upload/(http[s]?)\.s3\.timeweb\.cloud/([^\s].+)$ {
internal;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
#proxy_max_temp_file_size 0;
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $1://s3.timeweb.cloud/$2;
}
# block everything else
location ~* .*$ {
deny all;
}
}
#
# cloud resize cache
#
location ^~ /upload/resize_cache/c/upload/bx_cloud_upload/ {
# Amazon
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.(s3|af-south-1|ap-east-1|ap-south-1|ap-south-2|ap-southeast-1|ap-southeast-2|ap-southeast-3|ap-southeast-4|ap-northeast-1|ap-northeast-2|ap-northeast-3|ca-central-1|ca-west-1|cn-north-1|cn-northwest-1|eu-central-1|eu-central-2|eu-west-1|eu-west-2|eu-west-3|eu-south-1|eu-south-2|eu-north-1|il-central-1|me-south-1|me-central-1|sa-east-1|us-east-1|us-east-2|us-west-1|us-west-2|us-gov-east-1|us-gov-west-1)\.amazonaws\.com/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.$3.amazonaws.com/$4;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Rackspace
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.([^/:\s]+)\.([^/:\s]+)\.rackcdn\.com/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.$3.$4.rackcdn.com/$5;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Clodo
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru\:(80|443)/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.clodo.ru:$3/$4;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Google
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.commondatastorage\.googleapis\.com/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.commondatastorage.googleapis.com/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Selectel
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selcdn\.ru/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.selcdn.ru/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Selectel as S3 compatible storage
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.selstorage\.ru/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.selstorage.ru/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Yandex
location ~* ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.storage\.yandexcloud\.net/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.storage.yandexcloud.net/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Yandex second option
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.storage\.yandexcloud\.net/([^\s].+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://storage.yandexcloud.net/$2;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# HotBox
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.hb\.bizmrg\.com/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.hb.bizmrg.com/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# HotBox
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.hb\.bizmrg\.com/([^\s].+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://hb.bizmrg.com/$2;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Clodo.ru
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.([^/:\s]+)\.clodo\.ru/([^\s]+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://$2.clodo.ru/$3;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# Timeweb.cloud S3 compatible storage
location ~ ^/upload/resize_cache/c/upload/bx_cloud_upload/(http[s]?)\.s3\.timeweb\.cloud/([^\s].+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
resolver 8.8.8.8 ipv6=off;
proxy_method GET;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
if ($cdi) {
more_set_headers -s 200 'Content-Disposition: $cdi';
}
proxy_pass $1://s3.timeweb.cloud/$2;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
# block everything else
location ~* .*$ {
deny all;
}
}
#
+8
View File
@@ -0,0 +1,8 @@
#
location ~* @.*\.html$ {
internal;
# disable browser cache, php manage file
expires -1y;
add_header X-Bitrix-Composite "Nginx (file)";
}
#
+17
View File
@@ -0,0 +1,17 @@
#
location ~ ^/bitrix/groupdav.php.*$ {
if ($request_method ~ ^(PROPPATCH|MKCALENDAR)$) {
add_header Allow "OPTIONS,REPORT,CHECKAUTH,PROPFIND,MKCOL,GET,POST,PUT,DELETE,COPY,MOVE,LOCK,UNLOCK,ACL,HEAD";
return 405 "Method not allowed";
}
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/bitrix/groupdav.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
#
location ~ ^/.well-known/(caldav|carddav)$ {
rewrite ^ /bitrix/groupdav.php last;
}
#
+27
View File
@@ -0,0 +1,27 @@
# errors pages
error_page 403 /403.html;
error_page 404 /404.html;
error_page 500 /500.html;
error_page 502 /502.html;
error_page 503 /503.html;
error_page 504 /504.html;
# errors pages locations
location ^~ /403.html {
root /etc/nginx/errors;
}
location ^~ /404.html {
root /etc/nginx/errors;
}
location ^~ /500.html {
root /etc/nginx/errors;
}
location ^~ /502.html {
root /etc/nginx/errors;
}
location ^~ /503.html {
root /etc/nginx/errors;
}
location ^~ /504.html {
root /etc/nginx/errors;
}
+165
View File
@@ -0,0 +1,165 @@
#
##########################################################
#
# nginx modules - uncomment line and restart nginx
#
##########################################################
#
#
# nginx-module-brotli = brotli compression dynamic module
#
load_module "/usr/lib/nginx/modules/ngx_http_brotli_filter_module.so";
load_module "/usr/lib/nginx/modules/ngx_http_brotli_static_module.so";
#
#
# nginx-module-headers-more = headers-more dynamic module
#
load_module "/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so";
#
#
# nginx-module-zip = zip on fly dynamic module
#
load_module "/usr/lib/nginx/modules/ngx_http_zip_module.so";
#
#
# nginx-module-njs = njs dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_js_module.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_js_module.so";
#
#
# nginx-module-geoip = geoip dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_geoip_module.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_geoip_module.so";
#
#
# nginx-module-geoip2 = geoip2 dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_geoip2_module.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_geoip2_module.so";
#
#
# nginx-module-image-filter = image filter dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_image_filter_module.so";
#
#
# nginx-module-xslt = xslt dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_xslt_filter_module.so";
#
#
# nginx-module-perl = perl dynamic module
#
#load_module "/usr/lib/nginx/modules/ngx_http_perl_module.so";
#
#
# nginx-module-ndk = ndk dynamic module
#
#load_module "/usr/lib/nginx/modules/ndk_http_module.so";
#
#
# nginx-module-lua = lua dynamic module
# ndk_http_module must be placed first!
#
#load_module "/usr/lib/nginx/modules/ndk_http_module.so";
#load_module "/usr/lib/nginx/modules/ngx_http_lua_module.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_lua_module.so";
#
#
##########################################################
#
# nginx-debug modules - uncomment line and restart nginx-debug
#
##########################################################
#
#
# nginx-module-brotli = brotli compression dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_brotli_filter_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_http_brotli_static_module-debug.so";
#
#
# nginx-module-headers-more = headers-more dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_headers_more_filter_module-debug.so";
#
#
# nginx-module-zip = zip on fly dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_zip_module-debug.so";
#
#
# nginx-module-njs = njs dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_js_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_js_module-debug.so";
#
#
# nginx-module-geoip = geoip dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_geoip_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_geoip_module-debug.so";
#
#
# nginx-module-geoip2 = geoip2 dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_geoip2_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_geoip2_module-debug.so";
#
#
# nginx-module-image-filter = image filter dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_image_filter_module-debug.so";
#
#
# nginx-module-xslt = xslt dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_xslt_filter_module-debug.so";
#
#
# nginx-module-perl = perl dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ngx_http_perl_module-debug.so";
#
#
# nginx-module-ndk = ndk dynamic module (debug)
#
#load_module "/usr/lib/nginx/modules/ndk_http_module-debug.so";
#
#
# nginx-module-lua = lua dynamic module (debug)
# ndk_http_module must be placed first!
#
#load_module "/usr/lib/nginx/modules/ndk_http_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_http_lua_module-debug.so";
#load_module "/usr/lib/nginx/modules/ngx_stream_lua_module-debug.so";
#
#
##########################################################
#
+17
View File
@@ -0,0 +1,17 @@
#
# bitrixsetup script
#
location ^~ ^(/bitrixsetup\.php)$ {
proxy_buffering off;
}
#
# pub and online + telephony and voximplant
#
#location ~* ^/(pub/|online/|services/telephony/info_receiver.php|/bitrix/tools/voximplant/) {
# add_header X-Frame-Options '' always;
# #
# location ~* ^/(pub/imconnector/|pub/imbot.php|services/telephony/info_receiver.php|bitrix/tools/voximplant/) {
# proxy_ignore_client_abort on;
# }
#}
#
+31
View File
@@ -0,0 +1,31 @@
#
location ~* ^/bitrix/subws/ {
proxy_pass http://push_sub:8010;
# http://blog.martinfjordvald.com/2013/02/websockets-in-nginx/
# 12h+0.5
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
proxy_http_version 1.1;
proxy_set_header Upgrade $replace_upgrade;
proxy_set_header Connection $connection_upgrade;
}
#
location ~* ^/bitrix/sub/ {
rewrite ^/bitrix/sub/(.*)$ /bitrix/subws/$1 break;
proxy_pass http://push_sub:8010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
location ~* ^/bitrix/rest/ {
proxy_pass http://push_pub:9010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
location ~* ^/bitrix/pub/ {
proxy_pass http://push_pub:9010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
+31
View File
@@ -0,0 +1,31 @@
#
location ~* ^/bitrix/subws/ {
proxy_pass http://push_sub:8010;
# http://blog.martinfjordvald.com/2013/02/websockets-in-nginx/
# 12h+0.5
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
proxy_http_version 1.1;
proxy_set_header Upgrade $replace_upgrade;
proxy_set_header Connection $connection_upgrade;
}
#
location ~* ^/bitrix/sub/ {
rewrite ^/bitrix/sub/(.*)$ /bitrix/subws/$1 break;
proxy_pass http://push_sub:8010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
location ~* ^/bitrix/rest/ {
proxy_pass http://push_pub:9010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
location ~* ^/bitrix/pub/ {
proxy_pass http://push_pub:9010;
proxy_max_temp_file_size 0;
proxy_read_timeout 43800;
}
#
+92
View File
@@ -0,0 +1,92 @@
#
# static files
#
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|html|htm|xml|jpg|jpeg|gif|png|css|flv|js|wmv|mp4|bmp|swf|ico|txt|otf|woff|woff2|ttf|eot|map|wav|tar|7z)$ {
log_not_found off;
access_log off;
expires 30d;
add_header Cache-Control public;
}
#
# internal sources
#
location ~ (/bitrix/modules|/upload/support/not_image|/bitrix/php_interface|local/modules|local/php_interface) {
internal;
}
#
# accept access for merged css and js
#
location ~* ^/bitrix/cache/(css/.+\.css|js/.+\.js)$ {
expires 30d;
}
#
# static content
#
location ~* ^/(upload|bitrix/images|bitrix/tmp) {
set $cdi $upstream_http_x_cd_info;
if ($cdi) {
more_set_headers -s 200 'Content-Disposition:$cdi';
}
expires 30d;
}
#
# fix xss on svg files in /upload/*
#
location ~* ^/upload/.+\.svg$ {
add_header Content-Security-Policy "default-src 'none'; style-src 'unsafe-inline'; sandbox";
}
#
# download file from /upload/*, do not execute
#
location ~* ^/upload/.*([^/]+)\.(html|htm|php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht)$ {
add_header Content-Disposition "attachment";
}
#
# upload sizes
#
location ~ /upload/ {
client_body_buffer_size 1024m;
client_max_body_size 1024m;
}
#
# local resize cache
#
location ~* ^/upload/resize_cache/x/(.+)$ {
internal;
set $new_uri $upstream_http_x_gen_src;
set $cdi $upstream_http_x_cd_info;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Server $host;
more_clear_input_headers 'Authorization';
if ($cdi) {
more_set_headers -s 200 'Content-Disposition:$cdi';
}
proxy_set_header "cookie" "";
proxy_set_header "content-type" "";
proxy_set_header "content-length" "";
proxy_pass $scheme://$host/upload/resize_cache/$1;
proxy_intercept_errors on;
error_page 403 404 500 502 503 504 = /$new_uri;
}
#
# favicon.png
#
location = /favicon.png {
log_not_found off;
access_log off;
}
#
# robots.txt
#
location = /robots.txt {
log_not_found off;
access_log off;
}
#
# player options, disable no-sniff
#
location ~* ^/bitrix/components/bitrix/player/mediaplayer/player$ {
add_header Access-Control-Allow-Origin *;
}
#
+108
View File
@@ -0,0 +1,108 @@
# This map is not a full koi8-r <> utf8 map: it does not contain
# box-drawing and some other characters. Besides this map contains
# several koi8-u and Byelorussian letters which are not in koi8-r.
# If you need a full and standard map, use contrib/unicode2nginx/koi-utf
# map instead.
charset_map koi8-r utf-8 {
80 E282AC ; # euro
95 E280A2 ; # bullet
9A C2A0 ; # &nbsp;
9E C2B7 ; # &middot;
A3 D191 ; # small yo
A4 D194 ; # small Ukrainian ye
A6 D196 ; # small Ukrainian i
A7 D197 ; # small Ukrainian yi
AD D291 ; # small Ukrainian soft g
AE D19E ; # small Byelorussian short u
B0 C2B0 ; # &deg;
B3 D081 ; # capital YO
B4 D084 ; # capital Ukrainian YE
B6 D086 ; # capital Ukrainian I
B7 D087 ; # capital Ukrainian YI
B9 E28496 ; # numero sign
BD D290 ; # capital Ukrainian soft G
BE D18E ; # capital Byelorussian short U
BF C2A9 ; # (C)
C0 D18E ; # small yu
C1 D0B0 ; # small a
C2 D0B1 ; # small b
C3 D186 ; # small ts
C4 D0B4 ; # small d
C5 D0B5 ; # small ye
C6 D184 ; # small f
C7 D0B3 ; # small g
C8 D185 ; # small kh
C9 D0B8 ; # small i
CA D0B9 ; # small j
CB D0BA ; # small k
CC D0BB ; # small l
CD D0BC ; # small m
CE D0BD ; # small n
CF D0BE ; # small o
D0 D0BF ; # small p
D1 D18F ; # small ya
D2 D180 ; # small r
D3 D181 ; # small s
D4 D182 ; # small t
D5 D183 ; # small u
D6 D0B6 ; # small zh
D7 D0B2 ; # small v
D8 D18C ; # small soft sign
D9 D18B ; # small y
DA D0B7 ; # small z
DB D188 ; # small sh
DC D18D ; # small e
DD D189 ; # small shch
DE D187 ; # small ch
DF D18A ; # small hard sign
E0 D0AE ; # capital YU
E1 D090 ; # capital A
E2 D091 ; # capital B
E3 D0A6 ; # capital TS
E4 D094 ; # capital D
E5 D095 ; # capital YE
E6 D0A4 ; # capital F
E7 D093 ; # capital G
E8 D0A5 ; # capital KH
E9 D098 ; # capital I
EA D099 ; # capital J
EB D09A ; # capital K
EC D09B ; # capital L
ED D09C ; # capital M
EE D09D ; # capital N
EF D09E ; # capital O
F0 D09F ; # capital P
F1 D0AF ; # capital YA
F2 D0A0 ; # capital R
F3 D0A1 ; # capital S
F4 D0A2 ; # capital T
F5 D0A3 ; # capital U
F6 D096 ; # capital ZH
F7 D092 ; # capital V
F8 D0AC ; # capital soft sign
F9 D0AB ; # capital Y
FA D097 ; # capital Z
FB D0A8 ; # capital SH
FC D0AD ; # capital E
FD D0A9 ; # capital SHCH
FE D0A7 ; # capital CH
FF D0AA ; # capital hard sign
}
+102
View File
@@ -0,0 +1,102 @@
charset_map koi8-r windows-1251 {
80 88 ; # euro
95 95 ; # bullet
9A A0 ; # &nbsp;
9E B7 ; # &middot;
A3 B8 ; # small yo
A4 BA ; # small Ukrainian ye
A6 B3 ; # small Ukrainian i
A7 BF ; # small Ukrainian yi
AD B4 ; # small Ukrainian soft g
AE A2 ; # small Byelorussian short u
B0 B0 ; # &deg;
B3 A8 ; # capital YO
B4 AA ; # capital Ukrainian YE
B6 B2 ; # capital Ukrainian I
B7 AF ; # capital Ukrainian YI
B9 B9 ; # numero sign
BD A5 ; # capital Ukrainian soft G
BE A1 ; # capital Byelorussian short U
BF A9 ; # (C)
C0 FE ; # small yu
C1 E0 ; # small a
C2 E1 ; # small b
C3 F6 ; # small ts
C4 E4 ; # small d
C5 E5 ; # small ye
C6 F4 ; # small f
C7 E3 ; # small g
C8 F5 ; # small kh
C9 E8 ; # small i
CA E9 ; # small j
CB EA ; # small k
CC EB ; # small l
CD EC ; # small m
CE ED ; # small n
CF EE ; # small o
D0 EF ; # small p
D1 FF ; # small ya
D2 F0 ; # small r
D3 F1 ; # small s
D4 F2 ; # small t
D5 F3 ; # small u
D6 E6 ; # small zh
D7 E2 ; # small v
D8 FC ; # small soft sign
D9 FB ; # small y
DA E7 ; # small z
DB F8 ; # small sh
DC FD ; # small e
DD F9 ; # small shch
DE F7 ; # small ch
DF FA ; # small hard sign
E0 DE ; # capital YU
E1 C0 ; # capital A
E2 C1 ; # capital B
E3 D6 ; # capital TS
E4 C4 ; # capital D
E5 C5 ; # capital YE
E6 D4 ; # capital F
E7 C3 ; # capital G
E8 D5 ; # capital KH
E9 C8 ; # capital I
EA C9 ; # capital J
EB CA ; # capital K
EC CB ; # capital L
ED CC ; # capital M
EE CD ; # capital N
EF CE ; # capital O
F0 CF ; # capital P
F1 DF ; # capital YA
F2 D0 ; # capital R
F3 D1 ; # capital S
F4 D2 ; # capital T
F5 D3 ; # capital U
F6 C6 ; # capital ZH
F7 C2 ; # capital V
F8 DC ; # capital soft sign
F9 DB ; # capital Y
FA C7 ; # capital Z
FB D8 ; # capital SH
FC DD ; # capital E
FD D9 ; # capital SHCH
FE D7 ; # capital CH
FF DA ; # capital hard sign
}
+11
View File
@@ -0,0 +1,11 @@
#
map $http_upgrade $connection_upgrade {
default upgrade;
'' 'close';
}
#
map $http_upgrade $replace_upgrade {
default $http_upgrade;
'' 'websocket';
}
#
+99
View File
@@ -0,0 +1,99 @@
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/x-font-ttf ttf;
application/x-font-opentype otf;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}
+73
View File
@@ -0,0 +1,73 @@
#
user bitrix;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/runs/nginx/nginx.pid;
#
include /etc/nginx/inc/modules.conf;
#
events {
worker_connections 2048;
use epoll;
multi_accept on;
}
#
http {
server_tokens off;
###more_clear_headers Server;
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#sendfile_max_chunk 128k;
keepalive_timeout 75s;
keepalive_requests 1000;
client_body_buffer_size 512k;
client_header_buffer_size 512k;
large_client_header_buffers 4 64k;
client_max_body_size 1024m;
fastcgi_buffers 64 16k;
fastcgi_buffer_size 64k;
client_body_timeout 60s;
client_header_timeout 60s;
reset_timedout_connection on;
send_timeout 60s;
tcp_nopush on;
tcp_nodelay on;
server_names_hash_max_size 512;
server_names_hash_bucket_size 128;
types_hash_max_size 2048;
#
# gzip content compression params
#
gzip on;
gzip_vary on;
gzip_static on;
gzip_proxied any;
gzip_disable "msie6";
gzip_min_length 1100;
gzip_buffers 64 8k;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_types text/plain text/css text/javascript text/xml application/xml application/x-javascript application/json application/xml+rss;
#
# brotli content compression params
#
brotli on;
brotli_static on;
brotli_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml;
brotli_buffers 16 8k;
brotli_comp_level 6;
brotli_window 512k;
brotli_min_length 20;
include /etc/nginx/maps/*.conf;
include /etc/nginx/conf.d/*.conf;
}
#
+16
View File
@@ -0,0 +1,16 @@
scgi_param REQUEST_METHOD $request_method;
scgi_param REQUEST_URI $request_uri;
scgi_param QUERY_STRING $query_string;
scgi_param CONTENT_TYPE $content_type;
scgi_param DOCUMENT_URI $document_uri;
scgi_param DOCUMENT_ROOT $document_root;
scgi_param SCGI 1;
scgi_param SERVER_PROTOCOL $server_protocol;
scgi_param REQUEST_SCHEME $scheme;
scgi_param HTTPS $https if_not_empty;
scgi_param REMOTE_ADDR $remote_addr;
scgi_param REMOTE_PORT $remote_port;
scgi_param SERVER_PORT $server_port;
scgi_param SERVER_NAME $server_name;
+82
View File
@@ -0,0 +1,82 @@
#
# ssl on;
#
# files
#
ssl_certificate /etc/nginx/certs/example.com/fullchain.pem;
ssl_certificate_key /etc/nginx/certs/example.com/privkey.pem;
ssl_trusted_certificate /etc/nginx/certs/example.com/chain.pem;
ssl_dhparam /etc/nginx/certs/example.com/dhparam.pem;
#
# ssl params
#
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-GCM-SHA256";
ssl_ecdh_curve prime256v1:secp384r1:secp521r1:X25519;
ssl_early_data on;
#
# ssl session cache
#
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_session_tickets on;
#
# ocsp
#
ssl_stapling off;
ssl_stapling_verify off;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
#
# csp
#
# add_header Content-Security-Policy-Report-Only "";
# add_header X-Content-Security-Policy-Report-Only "";
# add_header X-WebKit-CSP-Report-Only "";
#
# headers
#
# add_header Public-Key-Pins 'pin-sha256=""; pin-sha256=""; pin-sha256=""; pin-sha256=""; pin-sha256=""; pin-sha256=""; max-age=31536000;';
# add_header Frame-Options SAMEORIGIN;
# add_header X-Frame-Options SAMEORIGIN;
# add_header X-Content-Type-Options nosniff;
# add_header X-XSS-Protection "1; mode=block";
add_header Strict-Transport-Security "max-age=15552000;"; # 180 days
#
# other
#
ssl_buffer_size 4k;
keepalive_timeout 70;
keepalive_requests 150;
#
# http2
# https://nginx.org/ru/docs/http/ngx_http_v2_module.html
#
http2 on;
http2_body_preread_size 64k;
http2_chunk_size 8k;
# http2_idle_timeout 3m; -> keepalive_timeout use, obsolete 1.19.7
# http2_max_concurrent_pushes 10; -> obsolete 1.25.1
http2_max_concurrent_streams 128;
# http2_max_field_size 4k; -> large_client_header_buffers use, obsolete 1.19.7
# http2_max_header_size 16k; -> large_client_header_buffers use, obsolete 1.19.7
# http2_max_requests 1000; -> keepalive_requests use, obsolete 1.19.7
# http2_push off; -> obsolete 1.25.1
# http2_push_preload off; -> obsolete 1.25.1
# http2_recv_buffer_size 256k; -> only on http available
# http2_recv_timeout 30s; -> client_header_timeout use, obsolete 1.19.7
#
# http3
# https://nginx.org/ru/docs/http/ngx_http_v3_module.html
#
# http3 on;
# http3_hq off;
# http3_max_concurrent_streams 128;
# http3_stream_buffer_size 64k;
# quic_active_connection_id_limit 2;
# quic_bpf off;
# quic_gso off;
# quic_host_key file;
# quic_retry off;
#
+16
View File
@@ -0,0 +1,16 @@
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
+125
View File
@@ -0,0 +1,125 @@
# This map is not a full windows-1251 <> utf8 map: it does not
# contain Serbian and Macedonian letters. If you need a full map,
# use contrib/unicode2nginx/win-utf map instead.
charset_map windows-1251 utf-8 {
82 E2809A ; # single low-9 quotation mark
84 E2809E ; # double low-9 quotation mark
85 E280A6 ; # ellipsis
86 E280A0 ; # dagger
87 E280A1 ; # double dagger
88 E282AC ; # euro
89 E280B0 ; # per mille
91 E28098 ; # left single quotation mark
92 E28099 ; # right single quotation mark
93 E2809C ; # left double quotation mark
94 E2809D ; # right double quotation mark
95 E280A2 ; # bullet
96 E28093 ; # en dash
97 E28094 ; # em dash
99 E284A2 ; # trade mark sign
A0 C2A0 ; # &nbsp;
A1 D18E ; # capital Byelorussian short U
A2 D19E ; # small Byelorussian short u
A4 C2A4 ; # currency sign
A5 D290 ; # capital Ukrainian soft G
A6 C2A6 ; # borken bar
A7 C2A7 ; # section sign
A8 D081 ; # capital YO
A9 C2A9 ; # (C)
AA D084 ; # capital Ukrainian YE
AB C2AB ; # left-pointing double angle quotation mark
AC C2AC ; # not sign
AD C2AD ; # soft hypen
AE C2AE ; # (R)
AF D087 ; # capital Ukrainian YI
B0 C2B0 ; # &deg;
B1 C2B1 ; # plus-minus sign
B2 D086 ; # capital Ukrainian I
B3 D196 ; # small Ukrainian i
B4 D291 ; # small Ukrainian soft g
B5 C2B5 ; # micro sign
B6 C2B6 ; # pilcrow sign
B7 C2B7 ; # &middot;
B8 D191 ; # small yo
B9 E28496 ; # numero sign
BA D194 ; # small Ukrainian ye
BB C2BB ; # right-pointing double angle quotation mark
BF D197 ; # small Ukrainian yi
C0 D090 ; # capital A
C1 D091 ; # capital B
C2 D092 ; # capital V
C3 D093 ; # capital G
C4 D094 ; # capital D
C5 D095 ; # capital YE
C6 D096 ; # capital ZH
C7 D097 ; # capital Z
C8 D098 ; # capital I
C9 D099 ; # capital J
CA D09A ; # capital K
CB D09B ; # capital L
CC D09C ; # capital M
CD D09D ; # capital N
CE D09E ; # capital O
CF D09F ; # capital P
D0 D0A0 ; # capital R
D1 D0A1 ; # capital S
D2 D0A2 ; # capital T
D3 D0A3 ; # capital U
D4 D0A4 ; # capital F
D5 D0A5 ; # capital KH
D6 D0A6 ; # capital TS
D7 D0A7 ; # capital CH
D8 D0A8 ; # capital SH
D9 D0A9 ; # capital SHCH
DA D0AA ; # capital hard sign
DB D0AB ; # capital Y
DC D0AC ; # capital soft sign
DD D0AD ; # capital E
DE D0AE ; # capital YU
DF D0AF ; # capital YA
E0 D0B0 ; # small a
E1 D0B1 ; # small b
E2 D0B2 ; # small v
E3 D0B3 ; # small g
E4 D0B4 ; # small d
E5 D0B5 ; # small ye
E6 D0B6 ; # small zh
E7 D0B7 ; # small z
E8 D0B8 ; # small i
E9 D0B9 ; # small j
EA D0BA ; # small k
EB D0BB ; # small l
EC D0BC ; # small m
ED D0BD ; # small n
EE D0BE ; # small o
EF D0BF ; # small p
F0 D180 ; # small r
F1 D181 ; # small s
F2 D182 ; # small t
F3 D183 ; # small u
F4 D184 ; # small f
F5 D185 ; # small kh
F6 D186 ; # small ts
F7 D187 ; # small ch
F8 D188 ; # small sh
F9 D189 ; # small shch
FA D18A ; # small hard sign
FB D18B ; # small y
FC D18C ; # small soft sign
FD D18D ; # small e
FE D18E ; # small yu
FF D18F ; # small ya
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+2
View File
@@ -0,0 +1,2 @@
#PEAR_Config 0.9
a:33:{s:9:"cache_dir";s:15:"/tmp/pear/cache";s:15:"default_channel";s:12:"pear.php.net";s:16:"preferred_mirror";s:12:"pear.php.net";s:13:"remote_config";s:0:"";s:13:"auto_discover";i:0;s:13:"master_server";s:12:"pear.php.net";s:10:"http_proxy";s:0:"";s:7:"php_dir";s:18:"/usr/local/lib/php";s:7:"ext_dir";s:55:"/usr/local/lib/php/extensions/no-debug-non-zts-20240924";s:7:"doc_dir";s:22:"/usr/local/lib/php/doc";s:7:"bin_dir";s:14:"/usr/local/bin";s:8:"data_dir";s:23:"/usr/local/lib/php/data";s:7:"cfg_dir";s:22:"/usr/local/lib/php/cfg";s:7:"www_dir";s:25:"/usr/local/lib/php/htdocs";s:7:"man_dir";s:28:"/usr/local/lib/php/local/man";s:8:"test_dir";s:23:"/usr/local/lib/php/test";s:8:"temp_dir";s:14:"/tmp/pear/temp";s:12:"download_dir";s:18:"/tmp/pear/download";s:7:"php_bin";s:18:"/usr/local/bin/php";s:10:"php_prefix";s:0:"";s:10:"php_suffix";s:0:"";s:7:"php_ini";s:0:"";s:12:"metadata_dir";s:0:"";s:8:"username";s:0:"";s:8:"password";s:0:"";s:7:"verbose";i:1;s:15:"preferred_state";s:6:"stable";s:5:"umask";i:18;s:9:"cache_ttl";i:3600;s:8:"sig_type";s:3:"gpg";s:7:"sig_bin";s:18:"/usr/local/bin/gpg";s:9:"sig_keyid";s:0:"";s:10:"sig_keydir";s:23:"/usr/local/etc/pearkeys";}
+142
View File
@@ -0,0 +1,142 @@
;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;
; All relative paths in this configuration file are relative to PHP's install
; prefix (/usr/local). This prefix can be dynamically changed by using the
; '-p' argument from the command line.
;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;
[global]
; Pid file
; Note: the default prefix is /usr/local/var
; Default Value: none
;pid = run/php-fpm.pid
; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; into a local file.
; Note: the default prefix is /usr/local/var
; Default Value: log/php-fpm.log
;error_log = log/php-fpm.log
; syslog_facility is used to specify what type of program is logging the
; message. This lets syslogd specify that messages from different facilities
; will be handled differently.
; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
; Default Value: daemon
;syslog.facility = daemon
; syslog_ident is prepended to every message. If you have multiple FPM
; instances running on the same server, you can change the default value
; which must suit common needs.
; Default Value: php-fpm
;syslog.ident = php-fpm
; Log level
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
;log_level = notice
; Log limit on number of characters in the single line (log entry). If the
; line is over the limit, it is wrapped on multiple lines. The limit is for
; all logged characters including message prefix and suffix if present. However
; the new line character does not count into it as it is present only when
; logging to a file descriptor. It means the new line character is not present
; when logging to syslog.
; Default Value: 1024
;log_limit = 4096
; Log buffering specifies if the log line is buffered which means that the
; line is written in a single write operation. If the value is false, then the
; data is written directly into the file descriptor. It is an experimental
; option that can potentially improve logging performance and memory usage
; for some heavy logging scenarios. This option is ignored if logging to syslog
; as it has to be always buffered.
; Default value: yes
;log_buffering = no
; If this number of child processes exit with SIGSEGV or SIGBUS within the time
; interval set by emergency_restart_interval then FPM will restart. A value
; of '0' means 'Off'.
; Default Value: 0
;emergency_restart_threshold = 0
; Interval of time used by emergency_restart_interval to determine when
; a graceful restart will be initiated. This can be useful to work around
; accidental corruptions in an accelerator's shared memory.
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;emergency_restart_interval = 0
; Time limit for child processes to wait for a reaction on signals from master.
; Available units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;process_control_timeout = 0
; The maximum number of processes FPM will fork. This has been designed to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
; process.max = 128
; Specify the nice(2) priority to apply to the master process (only if set)
; The value can vary from -19 (highest priority) to 20 (lowest priority)
; Note: - It will only work if the FPM master process is launched as root
; - The pool process will inherit the master process priority
; unless specified otherwise
; Default Value: no set
; process.priority = -19
; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
; Default Value: yes
;daemonize = yes
; Set open file descriptor rlimit for the master process.
; Default Value: system defined value
;rlimit_files = 1024
; Set max core size rlimit for the master process.
; Possible Values: 'unlimited' or an integer greater or equal to 0
; Default Value: system defined value
;rlimit_core = 0
; Specify the event mechanism FPM will use. The following is available:
; - select (any POSIX os)
; - poll (any POSIX os)
; - epoll (linux >= 2.5.44)
; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
; - port (Solaris >= 10)
; Default Value: not set (auto detection)
;events.mechanism = epoll
; When FPM is built with systemd integration, specify the interval,
; in seconds, between health report notification to systemd.
; Set to 0 to disable.
; Available Units: s(econds), m(inutes), h(ours)
; Default Unit: seconds
; Default value: 10
;systemd_interval = 10
;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;
; Multiple pools of child processes may be started with different listening
; ports and different management options. The name of the pool will be
; used in logs and stats. There is no limitation on the number of pools which
; FPM can handle. Your system will tell you anyway :)
; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
; Relative path can also be used. They will be prefixed by:
; - the global prefix if it's been set (-p argument)
; - /usr/local otherwise
include=etc/php-fpm.d/*.conf
+142
View File
@@ -0,0 +1,142 @@
;;;;;;;;;;;;;;;;;;;;;
; FPM Configuration ;
;;;;;;;;;;;;;;;;;;;;;
; All relative paths in this configuration file are relative to PHP's install
; prefix (/usr/local). This prefix can be dynamically changed by using the
; '-p' argument from the command line.
;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;
[global]
; Pid file
; Note: the default prefix is /usr/local/var
; Default Value: none
;pid = run/php-fpm.pid
; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; into a local file.
; Note: the default prefix is /usr/local/var
; Default Value: log/php-fpm.log
;error_log = log/php-fpm.log
; syslog_facility is used to specify what type of program is logging the
; message. This lets syslogd specify that messages from different facilities
; will be handled differently.
; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
; Default Value: daemon
;syslog.facility = daemon
; syslog_ident is prepended to every message. If you have multiple FPM
; instances running on the same server, you can change the default value
; which must suit common needs.
; Default Value: php-fpm
;syslog.ident = php-fpm
; Log level
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
;log_level = notice
; Log limit on number of characters in the single line (log entry). If the
; line is over the limit, it is wrapped on multiple lines. The limit is for
; all logged characters including message prefix and suffix if present. However
; the new line character does not count into it as it is present only when
; logging to a file descriptor. It means the new line character is not present
; when logging to syslog.
; Default Value: 1024
;log_limit = 4096
; Log buffering specifies if the log line is buffered which means that the
; line is written in a single write operation. If the value is false, then the
; data is written directly into the file descriptor. It is an experimental
; option that can potentially improve logging performance and memory usage
; for some heavy logging scenarios. This option is ignored if logging to syslog
; as it has to be always buffered.
; Default value: yes
;log_buffering = no
; If this number of child processes exit with SIGSEGV or SIGBUS within the time
; interval set by emergency_restart_interval then FPM will restart. A value
; of '0' means 'Off'.
; Default Value: 0
;emergency_restart_threshold = 0
; Interval of time used by emergency_restart_interval to determine when
; a graceful restart will be initiated. This can be useful to work around
; accidental corruptions in an accelerator's shared memory.
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;emergency_restart_interval = 0
; Time limit for child processes to wait for a reaction on signals from master.
; Available units: s(econds), m(inutes), h(ours), or d(ays)
; Default Unit: seconds
; Default Value: 0
;process_control_timeout = 0
; The maximum number of processes FPM will fork. This has been designed to control
; the global number of processes when using dynamic PM within a lot of pools.
; Use it with caution.
; Note: A value of 0 indicates no limit
; Default Value: 0
; process.max = 128
; Specify the nice(2) priority to apply to the master process (only if set)
; The value can vary from -19 (highest priority) to 20 (lowest priority)
; Note: - It will only work if the FPM master process is launched as root
; - The pool process will inherit the master process priority
; unless specified otherwise
; Default Value: no set
; process.priority = -19
; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
; Default Value: yes
;daemonize = yes
; Set open file descriptor rlimit for the master process.
; Default Value: system defined value
;rlimit_files = 1024
; Set max core size rlimit for the master process.
; Possible Values: 'unlimited' or an integer greater or equal to 0
; Default Value: system defined value
;rlimit_core = 0
; Specify the event mechanism FPM will use. The following is available:
; - select (any POSIX os)
; - poll (any POSIX os)
; - epoll (linux >= 2.5.44)
; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
; - port (Solaris >= 10)
; Default Value: not set (auto detection)
;events.mechanism = epoll
; When FPM is built with systemd integration, specify the interval,
; in seconds, between health report notification to systemd.
; Set to 0 to disable.
; Available Units: s(econds), m(inutes), h(ours)
; Default Unit: seconds
; Default value: 10
;systemd_interval = 10
;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ;
;;;;;;;;;;;;;;;;;;;;
; Multiple pools of child processes may be started with different listening
; ports and different management options. The name of the pool will be
; used in logs and stats. There is no limitation on the number of pools which
; FPM can handle. Your system will tell you anyway :)
; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
; Relative path can also be used. They will be prefixed by:
; - the global prefix if it's been set (-p argument)
; - /usr/local otherwise
include=NONE/etc/php-fpm.d/*.conf
+16
View File
@@ -0,0 +1,16 @@
[global]
error_log = /proc/self/fd/2
; https://github.com/docker-library/php/pull/725#issuecomment-443540114
log_limit = 8192
[www]
; php-fpm closes STDOUT on startup, so sending logs to /proc/self/fd/1 does not work.
; https://bugs.php.net/bug.php?id=73886
access.log = /proc/self/fd/2
clear_env = no
; Ensure worker stdout and stderr are sent to the main error log.
catch_workers_output = yes
decorate_workers_output = no
+495
View File
@@ -0,0 +1,495 @@
; Start a new pool named 'www'.
; the variable $pool can be used in any directive and will be replaced by the
; pool name ('www' here)
[www]
; Per pool prefix
; It only applies on the following directives:
; - 'access.log'
; - 'slowlog'
; - 'listen' (unixsocket)
; - 'chroot'
; - 'chdir'
; - 'php_values'
; - 'php_admin_values'
; When not set, the global prefix (or NONE) applies instead.
; Note: This directive can also be relative to the global prefix.
; Default Value: none
;prefix = /path/to/pools/$pool
; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
; --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
; If the group is not set, the user's group is used.
;user = www-data
;group = www-data
;user = bitrix
;group = bitrix
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000
; Set listen(2) backlog.
; Default Value: 511 (-1 on Linux, FreeBSD and OpenBSD)
;listen.backlog = 511
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: Owner is set to the master process running user. If the group
; is not set, the owner's group is used. Mode is set to 0660.
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660
listen.owner = bitrix
listen.group = bitrix
listen.mode = 0660
; When POSIX Access Control Lists are supported you can set them using
; these options, value is a comma separated list of user/group names.
; When set, listen.owner and listen.group are ignored
;listen.acl_users =
;listen.acl_groups =
; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
;listen.allowed_clients = 127.0.0.1
; Set the associated the route table (FIB). FreeBSD only
; Default Value: -1
;listen.setfib = 1
; Specify the nice(2) priority to apply to the pool processes (only if set)
; The value can vary from -19 (highest priority) to 20 (lower priority)
; Note: - It will only work if the FPM master process is launched as root
; - The pool processes will inherit the master process priority
; unless it specified otherwise
; Default Value: no set
; process.priority = -19
; Set the process dumpable flag (PR_SET_DUMPABLE prctl for Linux or
; PROC_TRACE_CTL procctl for FreeBSD) even if the process user
; or group is different than the master process user. It allows to create process
; core dump and ptrace the process for the pool user.
; Default Value: no
; process.dumpable = yes
; Choose how the process manager will control the number of child processes.
; Possible Values:
; static - a fixed number (pm.max_children) of child processes;
; dynamic - the number of child processes are set dynamically based on the
; following directives. With this process management, there will be
; always at least 1 children.
; pm.max_children - the maximum number of children that can
; be alive at the same time.
; pm.start_servers - the number of children created on startup.
; pm.min_spare_servers - the minimum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is less than this
; number then some children will be created.
; pm.max_spare_servers - the maximum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is greater than this
; number then some children will be killed.
; pm.max_spawn_rate - the maximum number of rate to spawn child
; processes at once.
; ondemand - no children are created at startup. Children will be forked when
; new requests will connect. The following parameter are used:
; pm.max_children - the maximum number of children that
; can be alive at the same time.
; pm.process_idle_timeout - The number of seconds after which
; an idle process will be killed.
; Note: This value is mandatory.
pm = dynamic
; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI. The below defaults are based on a server without much resources. Don't
; forget to tweak pm.* to fit your needs.
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
pm.max_children = 5
; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: (min_spare_servers + max_spare_servers) / 2
pm.start_servers = 2
; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 1
; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 3
; The number of rate to spawn child processes at once.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
; Default Value: 32
;pm.max_spawn_rate = 32
; The number of seconds after which an idle process will be killed.
; Note: Used only when pm is set to 'ondemand'
; Default Value: 10s
;pm.process_idle_timeout = 10s;
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
;pm.max_requests = 500
; The URI to view the FPM status page. If this value is not set, no URI will be
; recognized as a status page. It shows the following information:
; pool - the name of the pool;
; process manager - static, dynamic or ondemand;
; start time - the date and time FPM has started;
; start since - number of seconds since FPM has started;
; accepted conn - the number of request accepted by the pool;
; listen queue - the number of request in the queue of pending
; connections (see backlog in listen(2));
; max listen queue - the maximum number of requests in the queue
; of pending connections since FPM has started;
; listen queue len - the size of the socket queue of pending connections;
; idle processes - the number of idle processes;
; active processes - the number of active processes;
; total processes - the number of idle + active processes;
; max active processes - the maximum number of active processes since FPM
; has started;
; max children reached - number of times, the process limit has been reached,
; when pm tries to start more children (works only for
; pm 'dynamic' and 'ondemand');
; Value are updated in real time.
; Example output:
; pool: www
; process manager: static
; start time: 01/Jul/2011:17:53:49 +0200
; start since: 62636
; accepted conn: 190460
; listen queue: 0
; max listen queue: 1
; listen queue len: 42
; idle processes: 4
; active processes: 11
; total processes: 15
; max active processes: 12
; max children reached: 0
;
; By default the status page output is formatted as text/plain. Passing either
; 'html', 'xml' or 'json' in the query string will return the corresponding
; output syntax. Example:
; http://www.foo.bar/status
; http://www.foo.bar/status?json
; http://www.foo.bar/status?html
; http://www.foo.bar/status?xml
;
; By default the status page only outputs short status. Passing 'full' in the
; query string will also return status for each pool process.
; Example:
; http://www.foo.bar/status?full
; http://www.foo.bar/status?json&full
; http://www.foo.bar/status?html&full
; http://www.foo.bar/status?xml&full
; The Full status returns for each process:
; pid - the PID of the process;
; state - the state of the process (Idle, Running, ...);
; start time - the date and time the process has started;
; start since - the number of seconds since the process has started;
; requests - the number of requests the process has served;
; request duration - the duration in µs of the requests;
; request method - the request method (GET, POST, ...);
; request URI - the request URI with the query string;
; content length - the content length of the request (only with POST);
; user - the user (PHP_AUTH_USER) (or '-' if not set);
; script - the main script called (or '-' if not set);
; last request cpu - the %cpu the last request consumed
; it's always 0 if the process is not in Idle state
; because CPU calculation is done when the request
; processing has terminated;
; last request memory - the max amount of memory the last request consumed
; it's always 0 if the process is not in Idle state
; because memory calculation is done when the request
; processing has terminated;
; If the process is in Idle state, then information is related to the
; last request the process has served. Otherwise information is related to
; the current request being served.
; Example output:
; ************************
; pid: 31330
; state: Running
; start time: 01/Jul/2011:17:53:49 +0200
; start since: 63087
; requests: 12808
; request duration: 1250261
; request method: GET
; request URI: /test_mem.php?N=10000
; content length: 0
; user: -
; script: /home/fat/web/docs/php/test_mem.php
; last request cpu: 0.00
; last request memory: 0
;
; Note: There is a real-time FPM status monitoring sample web page available
; It's available in: /usr/local/share/php/fpm/status.html
;
; Note: The value must start with a leading slash (/). The value can be
; anything, but it may not be a good idea to use the .php extension or it
; may conflict with a real PHP file.
; Default Value: not set
;pm.status_path = /status
; The address on which to accept FastCGI status request. This creates a new
; invisible pool that can handle requests independently. This is useful
; if the main pool is busy with long running requests because it is still possible
; to get the status before finishing the long running requests.
;
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Default Value: value of the listen option
;pm.status_listen = 127.0.0.1:9001
; The ping URI to call the monitoring page of FPM. If this value is not set, no
; URI will be recognized as a ping page. This could be used to test from outside
; that FPM is alive and responding, or to
; - create a graph of FPM availability (rrd or such);
; - remove a server from a group if it is not responding (load balancing);
; - trigger alerts for the operating team (24/7).
; Note: The value must start with a leading slash (/). The value can be
; anything, but it may not be a good idea to use the .php extension or it
; may conflict with a real PHP file.
; Default Value: not set
;ping.path = /ping
; This directive may be used to customize the response of a ping request. The
; response is formatted as text/plain with a 200 response code.
; Default Value: pong
;ping.response = pong
; The access log file
; Default: not set
;access.log = log/$pool.access.log
; The access log format.
; The following syntax is allowed
; %%: the '%' character
; %C: %CPU used by the request
; it can accept the following format:
; - %{user}C for user CPU only
; - %{system}C for system CPU only
; - %{total}C for user + system CPU (default)
; %d: time taken to serve the request
; it can accept the following format:
; - %{seconds}d (default)
; - %{milliseconds}d
; - %{milli}d
; - %{microseconds}d
; - %{micro}d
; %e: an environment variable (same as $_ENV or $_SERVER)
; it must be associated with embraces to specify the name of the env
; variable. Some examples:
; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
; %f: script filename
; %l: content-length of the request (for POST request only)
; %m: request method
; %M: peak of memory allocated by PHP
; it can accept the following format:
; - %{bytes}M (default)
; - %{kilobytes}M
; - %{kilo}M
; - %{megabytes}M
; - %{mega}M
; %n: pool name
; %o: output header
; it must be associated with embraces to specify the name of the header:
; - %{Content-Type}o
; - %{X-Powered-By}o
; - %{Transfert-Encoding}o
; - ....
; %p: PID of the child that serviced the request
; %P: PID of the parent of the child that serviced the request
; %q: the query string
; %Q: the '?' character if query string exists
; %r: the request URI (without the query string, see %q and %Q)
; %R: remote IP address
; %s: status (response code)
; %t: server time the request was received
; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %T: time the log has been written (the request has finished)
; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %u: basic auth user if specified in Authorization header
;
; Default: "%R - %u %t \"%m %r\" %s"
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{milli}d %{kilo}M %C%%"
; A list of request_uri values which should be filtered from the access log.
;
; As a security precaution, this setting will be ignored if:
; - the request method is not GET or HEAD; or
; - there is a request body; or
; - there are query parameters; or
; - the response code is outwith the successful range of 200 to 299
;
; Note: The paths are matched against the output of the access.format tag "%r".
; On common configurations, this may look more like SCRIPT_NAME than the
; expected pre-rewrite URI.
;
; Default Value: not set
;access.suppress_path[] = /ping
;access.suppress_path[] = /health_check.php
; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
;slowlog = log/$pool.log.slow
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0
; Depth of slow log stack trace.
; Default Value: 20
;request_slowlog_trace_depth = 20
; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop script execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0
; The timeout set by 'request_terminate_timeout' ini option is not engaged after
; application calls 'fastcgi_finish_request' or when application has finished and
; shutdown functions are being called (registered via register_shutdown_function).
; This option will enable timeout limit to be applied unconditionally
; even in such cases.
; Default Value: no
;request_terminate_timeout_track_finished = no
; Set open file descriptor rlimit.
; Default Value: system defined value
;rlimit_files = 1024
; Set max core size rlimit.
; Possible Values: 'unlimited' or an integer greater or equal to 0
; Default Value: system defined value
;rlimit_core = 0
; Chroot to this directory at the start. This value must be defined as an
; absolute path. When this value is not set, chroot is not used.
; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
; of its subdirectories. If the pool prefix is not set, the global prefix
; will be used instead.
; Note: chrooting is a great security feature and should be used whenever
; possible. However, all PHP paths will be relative to the chroot
; (error_log, sessions.save_path, ...).
; Default Value: not set
;chroot =
; Chdir to this directory at the start.
; Note: relative path can be used.
; Default Value: current directory or / when chroot
;chdir = /var/www
; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
; Note: on highloaded environment, this can cause some delay in the page
; process time (several ms).
; Default Value: no
;catch_workers_output = yes
; Decorate worker output with prefix and suffix containing information about
; the child that writes to the log and if stdout or stderr is used as well as
; log level and time. This options is used only if catch_workers_output is yes.
; Settings to "no" will output data as written to the stdout or stderr.
; Default value: yes
;decorate_workers_output = no
; Clear environment in FPM workers
; Prevents arbitrary environment variables from reaching FPM worker processes
; by clearing the environment in workers before env vars specified in this
; pool configuration are added.
; Setting to "no" will make all environment variables available to PHP code
; via getenv(), $_ENV and $_SERVER.
; Default Value: yes
;clear_env = no
; Limits the extensions of the main script FPM will allow to parse. This can
; prevent configuration mistakes on the web server side. You should only limit
; FPM to .php extensions to prevent malicious users to use other extensions to
; execute php code.
; Note: set an empty value to allow all extensions.
; Default Value: .php
;security.limit_extensions = .php .php3 .php4 .php5 .php7
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
; Additional php.ini defines, specific to this pool of workers. These settings
; overwrite the values previously defined in the php.ini. The directives are the
; same as the PHP SAPI:
; php_value/php_flag - you can set classic ini defines which can
; be overwritten from PHP call 'ini_set'.
; php_admin_value/php_admin_flag - these directives won't be overwritten by
; PHP call 'ini_set'
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
; Defining 'extension' will load the corresponding shared extension from
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
; overwrite previously defined php.ini values, but will append the new value
; instead.
; Note: path INI options can be relative and will be expanded with the prefix
; (pool, global or /usr/local)
; Default Value: nothing is defined by default except the values in php.ini and
; specified at startup with the -d argument
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
+495
View File
@@ -0,0 +1,495 @@
; Start a new pool named 'www'.
; the variable $pool can be used in any directive and will be replaced by the
; pool name ('www' here)
[www]
; Per pool prefix
; It only applies on the following directives:
; - 'access.log'
; - 'slowlog'
; - 'listen' (unixsocket)
; - 'chroot'
; - 'chdir'
; - 'php_values'
; - 'php_admin_values'
; When not set, the global prefix (or NONE) applies instead.
; Note: This directive can also be relative to the global prefix.
; Default Value: none
;prefix = /path/to/pools/$pool
; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
; --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
; If the group is not set, the user's group is used.
;user = www-data
;group = www-data
;user = bitrix
;group = bitrix
; The address on which to accept FastCGI requests.
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000
; Set listen(2) backlog.
; Default Value: 511 (-1 on Linux, FreeBSD and OpenBSD)
;listen.backlog = 511
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: Owner is set to the master process running user. If the group
; is not set, the owner's group is used. Mode is set to 0660.
;listen.owner = www-data
;listen.group = www-data
;listen.mode = 0660
listen.owner = bitrix
listen.group = bitrix
listen.mode = 0660
; When POSIX Access Control Lists are supported you can set them using
; these options, value is a comma separated list of user/group names.
; When set, listen.owner and listen.group are ignored
;listen.acl_users =
;listen.acl_groups =
; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
;listen.allowed_clients = 127.0.0.1
; Set the associated the route table (FIB). FreeBSD only
; Default Value: -1
;listen.setfib = 1
; Specify the nice(2) priority to apply to the pool processes (only if set)
; The value can vary from -19 (highest priority) to 20 (lower priority)
; Note: - It will only work if the FPM master process is launched as root
; - The pool processes will inherit the master process priority
; unless it specified otherwise
; Default Value: no set
; process.priority = -19
; Set the process dumpable flag (PR_SET_DUMPABLE prctl for Linux or
; PROC_TRACE_CTL procctl for FreeBSD) even if the process user
; or group is different than the master process user. It allows to create process
; core dump and ptrace the process for the pool user.
; Default Value: no
; process.dumpable = yes
; Choose how the process manager will control the number of child processes.
; Possible Values:
; static - a fixed number (pm.max_children) of child processes;
; dynamic - the number of child processes are set dynamically based on the
; following directives. With this process management, there will be
; always at least 1 children.
; pm.max_children - the maximum number of children that can
; be alive at the same time.
; pm.start_servers - the number of children created on startup.
; pm.min_spare_servers - the minimum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is less than this
; number then some children will be created.
; pm.max_spare_servers - the maximum number of children in 'idle'
; state (waiting to process). If the number
; of 'idle' processes is greater than this
; number then some children will be killed.
; pm.max_spawn_rate - the maximum number of rate to spawn child
; processes at once.
; ondemand - no children are created at startup. Children will be forked when
; new requests will connect. The following parameter are used:
; pm.max_children - the maximum number of children that
; can be alive at the same time.
; pm.process_idle_timeout - The number of seconds after which
; an idle process will be killed.
; Note: This value is mandatory.
pm = dynamic
; The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
; This value sets the limit on the number of simultaneous requests that will be
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
; CGI. The below defaults are based on a server without much resources. Don't
; forget to tweak pm.* to fit your needs.
; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
; Note: This value is mandatory.
pm.max_children = 5
; The number of child processes created on startup.
; Note: Used only when pm is set to 'dynamic'
; Default Value: (min_spare_servers + max_spare_servers) / 2
pm.start_servers = 2
; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.min_spare_servers = 1
; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
pm.max_spare_servers = 3
; The number of rate to spawn child processes at once.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
; Default Value: 32
;pm.max_spawn_rate = 32
; The number of seconds after which an idle process will be killed.
; Note: Used only when pm is set to 'ondemand'
; Default Value: 10s
;pm.process_idle_timeout = 10s;
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
;pm.max_requests = 500
; The URI to view the FPM status page. If this value is not set, no URI will be
; recognized as a status page. It shows the following information:
; pool - the name of the pool;
; process manager - static, dynamic or ondemand;
; start time - the date and time FPM has started;
; start since - number of seconds since FPM has started;
; accepted conn - the number of request accepted by the pool;
; listen queue - the number of request in the queue of pending
; connections (see backlog in listen(2));
; max listen queue - the maximum number of requests in the queue
; of pending connections since FPM has started;
; listen queue len - the size of the socket queue of pending connections;
; idle processes - the number of idle processes;
; active processes - the number of active processes;
; total processes - the number of idle + active processes;
; max active processes - the maximum number of active processes since FPM
; has started;
; max children reached - number of times, the process limit has been reached,
; when pm tries to start more children (works only for
; pm 'dynamic' and 'ondemand');
; Value are updated in real time.
; Example output:
; pool: www
; process manager: static
; start time: 01/Jul/2011:17:53:49 +0200
; start since: 62636
; accepted conn: 190460
; listen queue: 0
; max listen queue: 1
; listen queue len: 42
; idle processes: 4
; active processes: 11
; total processes: 15
; max active processes: 12
; max children reached: 0
;
; By default the status page output is formatted as text/plain. Passing either
; 'html', 'xml' or 'json' in the query string will return the corresponding
; output syntax. Example:
; http://www.foo.bar/status
; http://www.foo.bar/status?json
; http://www.foo.bar/status?html
; http://www.foo.bar/status?xml
;
; By default the status page only outputs short status. Passing 'full' in the
; query string will also return status for each pool process.
; Example:
; http://www.foo.bar/status?full
; http://www.foo.bar/status?json&full
; http://www.foo.bar/status?html&full
; http://www.foo.bar/status?xml&full
; The Full status returns for each process:
; pid - the PID of the process;
; state - the state of the process (Idle, Running, ...);
; start time - the date and time the process has started;
; start since - the number of seconds since the process has started;
; requests - the number of requests the process has served;
; request duration - the duration in µs of the requests;
; request method - the request method (GET, POST, ...);
; request URI - the request URI with the query string;
; content length - the content length of the request (only with POST);
; user - the user (PHP_AUTH_USER) (or '-' if not set);
; script - the main script called (or '-' if not set);
; last request cpu - the %cpu the last request consumed
; it's always 0 if the process is not in Idle state
; because CPU calculation is done when the request
; processing has terminated;
; last request memory - the max amount of memory the last request consumed
; it's always 0 if the process is not in Idle state
; because memory calculation is done when the request
; processing has terminated;
; If the process is in Idle state, then information is related to the
; last request the process has served. Otherwise information is related to
; the current request being served.
; Example output:
; ************************
; pid: 31330
; state: Running
; start time: 01/Jul/2011:17:53:49 +0200
; start since: 63087
; requests: 12808
; request duration: 1250261
; request method: GET
; request URI: /test_mem.php?N=10000
; content length: 0
; user: -
; script: /home/fat/web/docs/php/test_mem.php
; last request cpu: 0.00
; last request memory: 0
;
; Note: There is a real-time FPM status monitoring sample web page available
; It's available in: /usr/local/share/php/fpm/status.html
;
; Note: The value must start with a leading slash (/). The value can be
; anything, but it may not be a good idea to use the .php extension or it
; may conflict with a real PHP file.
; Default Value: not set
;pm.status_path = /status
; The address on which to accept FastCGI status request. This creates a new
; invisible pool that can handle requests independently. This is useful
; if the main pool is busy with long running requests because it is still possible
; to get the status before finishing the long running requests.
;
; Valid syntaxes are:
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
; a specific port;
; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
; a specific port;
; 'port' - to listen on a TCP socket to all addresses
; (IPv6 and IPv4-mapped) on a specific port;
; '/path/to/unix/socket' - to listen on a unix socket.
; Default Value: value of the listen option
;pm.status_listen = 127.0.0.1:9001
; The ping URI to call the monitoring page of FPM. If this value is not set, no
; URI will be recognized as a ping page. This could be used to test from outside
; that FPM is alive and responding, or to
; - create a graph of FPM availability (rrd or such);
; - remove a server from a group if it is not responding (load balancing);
; - trigger alerts for the operating team (24/7).
; Note: The value must start with a leading slash (/). The value can be
; anything, but it may not be a good idea to use the .php extension or it
; may conflict with a real PHP file.
; Default Value: not set
;ping.path = /ping
; This directive may be used to customize the response of a ping request. The
; response is formatted as text/plain with a 200 response code.
; Default Value: pong
;ping.response = pong
; The access log file
; Default: not set
;access.log = log/$pool.access.log
; The access log format.
; The following syntax is allowed
; %%: the '%' character
; %C: %CPU used by the request
; it can accept the following format:
; - %{user}C for user CPU only
; - %{system}C for system CPU only
; - %{total}C for user + system CPU (default)
; %d: time taken to serve the request
; it can accept the following format:
; - %{seconds}d (default)
; - %{milliseconds}d
; - %{milli}d
; - %{microseconds}d
; - %{micro}d
; %e: an environment variable (same as $_ENV or $_SERVER)
; it must be associated with embraces to specify the name of the env
; variable. Some examples:
; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
; %f: script filename
; %l: content-length of the request (for POST request only)
; %m: request method
; %M: peak of memory allocated by PHP
; it can accept the following format:
; - %{bytes}M (default)
; - %{kilobytes}M
; - %{kilo}M
; - %{megabytes}M
; - %{mega}M
; %n: pool name
; %o: output header
; it must be associated with embraces to specify the name of the header:
; - %{Content-Type}o
; - %{X-Powered-By}o
; - %{Transfert-Encoding}o
; - ....
; %p: PID of the child that serviced the request
; %P: PID of the parent of the child that serviced the request
; %q: the query string
; %Q: the '?' character if query string exists
; %r: the request URI (without the query string, see %q and %Q)
; %R: remote IP address
; %s: status (response code)
; %t: server time the request was received
; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %T: time the log has been written (the request has finished)
; it can accept a strftime(3) format:
; %d/%b/%Y:%H:%M:%S %z (default)
; The strftime(3) format must be encapsulated in a %{<strftime_format>}t tag
; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
; %u: basic auth user if specified in Authorization header
;
; Default: "%R - %u %t \"%m %r\" %s"
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{milli}d %{kilo}M %C%%"
; A list of request_uri values which should be filtered from the access log.
;
; As a security precaution, this setting will be ignored if:
; - the request method is not GET or HEAD; or
; - there is a request body; or
; - there are query parameters; or
; - the response code is outwith the successful range of 200 to 299
;
; Note: The paths are matched against the output of the access.format tag "%r".
; On common configurations, this may look more like SCRIPT_NAME than the
; expected pre-rewrite URI.
;
; Default Value: not set
;access.suppress_path[] = /ping
;access.suppress_path[] = /health_check.php
; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
;slowlog = log/$pool.log.slow
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0
; Depth of slow log stack trace.
; Default Value: 20
;request_slowlog_trace_depth = 20
; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop script execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_terminate_timeout = 0
; The timeout set by 'request_terminate_timeout' ini option is not engaged after
; application calls 'fastcgi_finish_request' or when application has finished and
; shutdown functions are being called (registered via register_shutdown_function).
; This option will enable timeout limit to be applied unconditionally
; even in such cases.
; Default Value: no
;request_terminate_timeout_track_finished = no
; Set open file descriptor rlimit.
; Default Value: system defined value
;rlimit_files = 1024
; Set max core size rlimit.
; Possible Values: 'unlimited' or an integer greater or equal to 0
; Default Value: system defined value
;rlimit_core = 0
; Chroot to this directory at the start. This value must be defined as an
; absolute path. When this value is not set, chroot is not used.
; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
; of its subdirectories. If the pool prefix is not set, the global prefix
; will be used instead.
; Note: chrooting is a great security feature and should be used whenever
; possible. However, all PHP paths will be relative to the chroot
; (error_log, sessions.save_path, ...).
; Default Value: not set
;chroot =
; Chdir to this directory at the start.
; Note: relative path can be used.
; Default Value: current directory or / when chroot
;chdir = /var/www
; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
; Note: on highloaded environment, this can cause some delay in the page
; process time (several ms).
; Default Value: no
;catch_workers_output = yes
; Decorate worker output with prefix and suffix containing information about
; the child that writes to the log and if stdout or stderr is used as well as
; log level and time. This options is used only if catch_workers_output is yes.
; Settings to "no" will output data as written to the stdout or stderr.
; Default value: yes
;decorate_workers_output = no
; Clear environment in FPM workers
; Prevents arbitrary environment variables from reaching FPM worker processes
; by clearing the environment in workers before env vars specified in this
; pool configuration are added.
; Setting to "no" will make all environment variables available to PHP code
; via getenv(), $_ENV and $_SERVER.
; Default Value: yes
;clear_env = no
; Limits the extensions of the main script FPM will allow to parse. This can
; prevent configuration mistakes on the web server side. You should only limit
; FPM to .php extensions to prevent malicious users to use other extensions to
; execute php code.
; Note: set an empty value to allow all extensions.
; Default Value: .php
;security.limit_extensions = .php .php3 .php4 .php5 .php7
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
; the current environment.
; Default Value: clean env
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp
; Additional php.ini defines, specific to this pool of workers. These settings
; overwrite the values previously defined in the php.ini. The directives are the
; same as the PHP SAPI:
; php_value/php_flag - you can set classic ini defines which can
; be overwritten from PHP call 'ini_set'.
; php_admin_value/php_admin_flag - these directives won't be overwritten by
; PHP call 'ini_set'
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
; Defining 'extension' will load the corresponding shared extension from
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
; overwrite previously defined php.ini values, but will append the new value
; instead.
; Note: path INI options can be relative and will be expanded with the prefix
; (pool, global or /usr/local)
; Default Value: nothing is defined by default except the values in php.ini and
; specified at startup with the -d argument
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M
+5
View File
@@ -0,0 +1,5 @@
[global]
daemonize = no
[www]
listen = 9000
+32
View File
@@ -0,0 +1,32 @@
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING
enable_dl = Off
short_open_tag = On
allow_url_fopen = On
max_input_vars = 10000
max_file_uploads = 100
max_execution_time = 300
max_input_time = 60
output_buffering = 4096
request_order = GP
variables_order = GPCS
post_max_size = 1024M
upload_max_filesize = 1024M
pcre.backtrack_limit = 1000000
pcre.recursion_limit = 14000
realpath_cache_size = 4096k
mysql.default_socket = /var/lib/mysqld/mysqld.sock
mysqli.default_socket = /var/lib/mysqld/mysqld.sock
default_charset = UTF-8
; session.entropy_length = 128
; session.entropy_file = /dev/urandom
; session.cookie_httponly = On
; sendmail_path = /usr/sbin/sendmail -t -i
sendmail_path = msmtp -t -i
memory_limit = 512M
mail.add_x_header = Off
expose_php = Off
display_errors = Off
session.name = BITRIX_PHPSESSID
session.cookie_samesite = "Lax"
; session.save_path = "/php_sessions"
; upload_tmp_dir = "/php_uploads"
@@ -0,0 +1,2 @@
; https://github.com/docker-library/php/issues/878#issuecomment-938595965
fastcgi.logging = Off
@@ -0,0 +1 @@
extension=amqp.so
@@ -0,0 +1,62 @@
; Enable APCu extension module
extension=apcu.so
;
; This can be set to 0 to disable APCu
; apc.enabled=1
;
; Setting this enables APCu for the CLI version of PHP (Mostly for testing and debugging).
;apc.enable_cli=0
;
; Sets the path to text files containing caches to load from disk upon
; initialization of APCu. preload_path should be a directory where each
; file follows $key.data where $key should be used as the entry name
; and the contents of the file contains serialized data to use as the value
; of the entry.
;apc.preload_path=
;
; The size of each shared memory segment, with M/G suffixe
;apc.shm_size=32M
;
; The number of seconds a cache entry is allowed to idle in a slot in case
; this cache entry slot is needed by another entry.
;apc.ttl=0
;
; The number of seconds that a cache entry may remain on the
; garbage-collection list.
;apc.gc_ttl=3600
;
; If you begin to get low on resources, an expunge of the cache
; is performed if it is less than half full. This is not always
; a suitable way of determining if an expunge of the cache
; should be per apc.smart allows you to set a runtime configuration
; value which is used to determine if an expunge should be run
; if (available_size < apc.smart * requested_size)
;apc.smart=0
;
; A "hint" about the number variables expected in the cache.
; Set to zero or omit if you are not sure;
;apc.entries_hint=4096
;
; The mktemp-style file_mask to pass to the mmap module
; apc.mmap_file_mask=/tmp/apc.XXXXXX
;
; On very busy servers whenever you start the server or
; modify files you can create a race of many processes
; all trying to cache the same data at the same time.
; By default, APCu attempts to prevent "slamming" of a key.
; A key is considered "slammed" if it was the last key set,
; and a context other than the current one set it ( ie. it
; was set by another process or thread )
;apc.slam_defense=0
;
; Defines which serializer should be used
; Default is the standard PHP serializer.
;apc.serializer='php'
;
; use the SAPI request start time for TTL
;apc.use_request_time=0
;
; Enables APCu handling of signals, such as SIGSEGV, that write core files
; when signaled. APCu will attempt to unmap the shared memory segment in
; order to exclude it from the core file
;apc.coredump_unmap=0
@@ -0,0 +1 @@
extension=bz2.so
@@ -0,0 +1 @@
extension=calendar.so
@@ -0,0 +1 @@
extension=exif.so
@@ -0,0 +1 @@
extension=gd.so
@@ -0,0 +1 @@
extension=gettext.so
@@ -0,0 +1 @@
extension=igbinary.so
@@ -0,0 +1 @@
extension=imagick.so
@@ -0,0 +1 @@
extension=intl.so
@@ -0,0 +1 @@
extension=ldap.so
@@ -0,0 +1 @@
extension=mcrypt.so
@@ -0,0 +1,47 @@
; Enable memcache extension module
extension=memcache.so
;
; Options for the memcache module
; see http://www.php.net/manual/en/memcache.ini.php
;
; Whether to transparently failover to other servers on errors
;memcache.allow_failover=1
; Data will be transferred in chunks of this size
;memcache.chunk_size=32768
; Autocompress large data
;memcache.compress_threshold=20000
; The default TCP port number to use when connecting to the memcached server
;memcache.default_port=11211
; Hash function {crc32, fnv}
;memcache.hash_function=crc32
; Hash strategy {standard, consistent}
;memcache.hash_strategy=consistent
; Defines how many servers to try when setting and getting data.
;memcache.max_failover_attempts=20
; The protocol {ascii, binary} : You need a memcached >= 1.3.0 to use the binary protocol
; The binary protocol results in less traffic and is more efficient
;memcache.protocol=ascii
; Redundancy : When enabled the client sends requests to N servers in parallel
;memcache.redundancy=1
;memcache.session_redundancy=2
; Lock Timeout
;memcache.lock_timeout = 15
;memcache.prefix_host_key = 0
;memcache.prefix_host_key_remove_www = 1
;memcache.prefix_host_key_remove_subdomain = 0
;memcache.prefix_static_key = ''
;
; Options to use the memcache session handler
; RPM note : save_handler and save_path are defined
; for mod_php, in /etc/httpd/conf.d/php.conf
; for php-fpm, in /etc/php-fpm.d/*conf
; Use memcache as a session handler
;session.save_handler=memcache
; Defines a comma separated of server urls to use for session storage
; Only used when memcache.session_save_path is not set
;session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15"
;memcache.session_prefix_host_key = 0
;memcache.session_prefix_host_key_remove_www = 1
;memcache.session_prefix_host_key_remove_subdomain = 0
;memcache.session_prefix_static_key = ''
;memcache.session_save_path = ''
@@ -0,0 +1,186 @@
; Enable memcached extension module
extension=memcached.so
; ----- Options to use the memcached session handler
; RPM note : save_handler and save_path are defined
; for mod_php, in /etc/httpd/conf.d/php.conf
; for php-fpm, in /etc/php-fpm.d/*conf
; Use memcache as a session handler
;session.save_handler=memcached
; Defines a comma separated list of server urls to use for session storage
;session.save_path="localhost:11211"
; ----- Configuration options
; https://php.net/manual/en/memcached.configuration.php
[memcached]
; Use session locking
; valid values: On, Off
; the default is On
;memcached.sess_locking = On
; The minimum time, in milliseconds, to wait between session lock attempts.
; This value is double on each lock retry until memcached.sess_lock_wait_max
; is reached, after which any further retries will take sess_lock_wait_max seconds.
; Default is 150.
;memcached.sess_lock_wait_min = 150;
; The maximum time, in milliseconds, to wait between session lock attempts.
; Default is 150.
;memcached.sess_lock_wait_max = 150;
; The number of times to retry locking the session lock, not including the first attempt.
; Default is 5.
;memcached.sess_lock_retries = 5;
; The time, in seconds, before a lock should release itself.
; Setting to 0 results in the default behaviour, which is to
; use PHP's max_execution_time.
;memcached.sess_lock_expire = 0;
; memcached session key prefix
; valid values are strings less than 219 bytes long
; the default value is "memc.sess.key."
;memcached.sess_prefix = "memc.sess.key."
; Whether or not to re-use the memcached connections corresponding to the value(s)
; of session.save_path after the execution of the script ends.
; Don't use this if certain settings (e.g. SASL settings, sess_binary_protocol) would
; be overridden between requests.
; Default is Off.
;memcached.sess_persistent = Off
; memcached session consistent hash mode
; if set to On, consistent hashing (libketama) is used
; for session handling.
; When consistent hashing is used, one can add or remove cache
; node(s) without messing up too much with existing keys
; default is On
;memcached.sess_consistent_hash = On
; memcached session consistent hash type
; if set to 'ketama', consistent hashing (libketama) is used
; for session handling (default for php-memcached 3.x)
; if set to 'ketama_weighted', weighted consistent hashing (libketama) is used
; for session handling (default for php-memcached 2.x)
;memcached.sess_consistent_hash_type = "ketama"
; Allow failed memcached server to automatically be removed.
; Default is Off. (In previous versions, this setting was called memcached.sess_remove_failed)
;memcached.sess_remove_failed_servers = Off
; Set this value to enable the server be removed after
; configured number of continuous times connection failure.
;memcached.sess_server_failure_limit = 0
; Write data to a number of additional memcached servers
; This is "poor man's HA" as libmemcached calls it.
; If this value is positive and sess_remove_failed_servers is enabled
; when a memcached server fails the session will continue to be available
; from a replica. However, if the failed memcache server
; becomes available again it will read the session from there
; which could have old data or no data at all
;memcached.sess_number_of_replicas = 0
; Use the memcached binary protocol for memcached sessions (Instead of the text protocol)
; libmemcached replicas work only if binary mode is enabled.
; However, certain proxies (such as twemproxy) will work only if the binary protocol is disabled.
; In older versions of php-memcached, this setting was Off and was called memcached.sess_binary.
; Default is On with libmemcached 1.0.18 or newer.
; Default is Off with older version.
;memcached.sess_binary_protocol = On
; memcached session replica read randomize
;memcached.sess_randomize_replica_read = Off
; memcached connect timeout value
; In non-blocking mode this changes the value of the timeout
; during socket connection in milliseconds. Specifying -1 means an infinite timeout.
;memcached.sess_connect_timeout = 1000
; Session SASL username
; Both username and password need to be set for SASL to be enabled
;memcached.sess_sasl_username = NULL
; Session SASL password
;memcached.sess_sasl_password = NULL
; Set the compression type
; valid values are: fastlz, zlib
; the default is fastlz
;memcached.compression_type = "fastlz"
; Compression factor
; Store compressed value only if the compression
; factor (saving) exceeds the set limit.
;
; store compressed if:
; plain_len > comp_len * factor
;
; the default value is 1.3 (23% space saving)
;memcached.compression_factor = "1.3"
; The compression threshold
;
; Do not compress serialized values below this threshold.
; the default is 2000 bytes
;memcached.compression_threshold = 2000
; Set the default serializer for new memcached objects.
; valid values are: php, igbinary, json, json_array, msgpack
;
; json - standard php JSON encoding. This serializer
; is fast and compact but only works on UTF-8
; encoded data and does not fully implement
; serializing. See the JSON extension.
; json_array - as json, but decodes into arrays
; php - the standard php serializer
; igbinary - a binary serializer
; msgpack - a cross-language binary serializer
;
; The default is igbinary if available, then msgpack if available, then php otherwise.
;memcached.serializer = "igbinary"
; The amount of retries for failed store commands.
; This mechanism allows transparent fail-over to secondary servers when
; set/increment/decrement/setMulti operations fail on the desired server in a multi-server
; environment.
; the default is 0
;memcached.store_retry_count = 0
; The maximum payload size in bytes that can be written.
; Writing a payload larger than the limit will result in RES_E2BIG error.
; Specifying 0 means no limit is enforced, though the server may still reject with RES_E2BIG.
; Default is 0.
;memcached.item_size_limit = 1000000
; Sets the default for consistent hashing for new connections.
; (To configure consistent hashing for session connections,
; use memcached.sess_consistent_hash instead)
;
; If set to On, consistent hashing (libketama) is used
; for session handling.
; When consistent hashing is used, one can add or remove cache
; node(s) without messing up too much with existing keys
; default is Off
;memcached.default_consistent_hash = Off
; Sets the default memcached protocol for new connections.
; (To configure the memcached protocol for connections used by sessions,
; use memcached.sess_binary_protocol instead)
;
; If set to On, the memcached binary protocol is used by default.
; If set to Off, the memcached text protocol is used.
; Default is Off
;memcached.default_binary_protocol = Off
; Sets the default memcached connection timeout for new connections.
; (To configure the memcached connection timeout for sessions,
; use memcached.sess_connect_timeout instead)
; In non-blocking mode this changes the value of the timeout.
; during socket connection in milliseconds. Specifying -1 means an infinite timeout.
; Specifying 0 means using the memcached library's default connection timeout.
; Default is 0.
;memcached.default_connect_timeout = 0
@@ -0,0 +1 @@
extension=msgpack.so
@@ -0,0 +1 @@
extension=mysqli.so
@@ -0,0 +1,12 @@
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=471
opcache.interned_strings_buffer=117
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.save_comments=1
opcache.load_comments=1
;opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
@@ -0,0 +1 @@
extension=pdo_mysql.so
@@ -0,0 +1 @@
extension=pdo_pgsql.so
@@ -0,0 +1 @@
extension=pgsql.so
@@ -0,0 +1 @@
extension=pspell.so
@@ -0,0 +1 @@
extension=redis.so
@@ -0,0 +1 @@
extension=shmop.so
@@ -0,0 +1 @@
extension=sockets.so
@@ -0,0 +1 @@
extension=sodium.so
@@ -0,0 +1 @@
; extension=ssh2.so
@@ -0,0 +1 @@
extension=sysvmsg.so
@@ -0,0 +1 @@
extension=sysvsem.so
@@ -0,0 +1 @@
extension=sysvshm.so
@@ -0,0 +1,10 @@
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.start_with_request = trigger
xdebug.client_host=host.docker.internal
xdebug.client_port=9003
xdebug.idekey=PHPSTORM
xdebug.discover_client_host = 1
;xdebug.log=/tmp/xdebug.log
xdebug.log_level=7
@@ -0,0 +1,7 @@
; Enable xhprof extension module
; extension=xhprof.so
; You can either pass the directory location as an argument to the constructor for XHProfRuns_Default() or set xhprof.output_dir ini param.
;xhprof.output_dir=''
;xhprof.collect_additional_info=0
;xhprof.sampling_interval=100000
;xhprof.sampling_depth=0x7fffffff
@@ -0,0 +1 @@
extension=xsl.so
@@ -0,0 +1 @@
extension=zip.so
@@ -0,0 +1 @@
date.timezone = Europe/Moscow
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+57
View File
@@ -0,0 +1,57 @@
#pidfile /var/run/redis_6379.pid
#logfile /log/redis.log
dir /data
dbfilename dump.rdb
bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
#unixsocket /tmp/redis.sock
#unixsocketperm 770
timeout 0
tcp-keepalive 300
daemonize no
supervised no
loglevel notice
databases 16
save 86400 1
save 7200 10
save 3600 10000
stop-writes-on-bgsave-error no
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
maxmemory 942mb
maxmemory-policy allkeys-lru
+83
View File
@@ -0,0 +1,83 @@
#
index bitrix
{
# Main settings
type = rt
path = /opt/sphinx/lib/bitrix
docinfo = inline
# Choose appropriate type of morphology to use
#morphology = lemmatize_ru_all, lemmatize_en_all, lemmatize_de_all, stem_enru
morphology = stem_enru, soundex
# These settings are used by bitrix:search.title component
dict = keywords
prefix_fields = title
infix_fields =
min_prefix_len = 2
enable_star = 1
# All fields must be defined exactly as followed
rt_field = title
rt_field = body
rt_attr_uint = module_id
rt_attr_string = module
rt_attr_uint = item_id
rt_attr_string = item
rt_attr_uint = param1_id
rt_attr_string = param1
rt_attr_uint = param2_id
rt_attr_string = param2
rt_attr_timestamp = date_change
rt_attr_timestamp = date_to
rt_attr_timestamp = date_from
rt_attr_uint = custom_rank
rt_attr_multi = tags
rt_attr_multi = right
rt_attr_multi = site
rt_attr_multi = param
# Depends on settings of your site:
# for single byte (Windows-1251) use sdcs
# for multi byte (UTF-8) use utf-8
charset_type = utf-8
}
#
index testrt
{
type = rt
rt_mem_limit = 128M
path = /opt/sphinx/lib/testrt
rt_field = title
rt_field = content
rt_attr_uint = gid
}
#
searchd
{
listen = 9312
listen = 9306:mysql41
log = /opt/sphinx/log/searchd.log
query_log = /opt/sphinx/log/query.log
pid_file = /opt/sphinx/run/searchd.pid
binlog_path = /opt/sphinx/binlogs
read_timeout = 5
max_children = 30
max_matches = 1000
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads # for RT to work
binlog_max_log_size = 512M
# 2 - flush every transaction, sync every second. Good performance, and every committed transaction is guaranteed to be saved in case of daemon crash.
# 1 - flush and sync every transaction. Worst performance, but every committed transaction data is guaranteed to be saved
binlog_flush = 2
rt_flush_period = 3600
}
#
indexer
{
lemmatizer_cache = 128M
}
#
common
{
lemmatizer_base = /opt/sphinx/dict
}
#
View File

Some files were not shown because too many files have changed in this diff Show More