Ololord.js: различия между версиями
Мальвина (обсуждение | вклад) (Новая страница: «'''[https://github.com/ololoepepe/ololord.js Ololord.js]''' — Кривой движок для параши запиленный Андрюшка|Андрюш...») |
Мальвина (обсуждение | вклад) м |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | '''[https://github.com/ololoepepe/ololord.js Ololord.js]''' — Кривой движок для параши запиленный [[Андрюшка|Андрюшкой]], на котором работали [[Тумбач]] и [[Оллчан#Оллчан времен андрюшки|Allchan.su]]. Под завязку нафарширован тонной ненужных функций, большая часть из которых работала на половину, а некоторые из этой половины не работали вовсе. Заброшен после продажи [[Оллчан]]а Аллкалику. Несмотря на это у движка почти нулевой отклик, а то что работало, работало как надо и даже лучше. | + | '''[https://github.com/ololoepepe/ololord.js Ololord.js]''' — Кривой движок для параши запиленный [[Андрюшка|Андрюшкой]], на котором работали [[Тумбач]] и [[Оллчан#Оллчан времен андрюшки|Allchan.su]]. Под завязку нафарширован тонной ненужных функций, большая часть из которых работала на половину, а некоторые из этой половины и не работали вовсе. Заброшен после продажи [[Оллчан]]а Аллкалику. Несмотря на это у движка почти нулевой отклик, а то что работало, работало как надо и даже лучше. Считается приемником [[Ololord (C++)|Ololord]]'а. |
==История== | ==История== | ||
| Строка 5: | Строка 5: | ||
== Особенности == | == Особенности == | ||
| − | На момент создания движок был не иначе как чудом инженерной мысли. Да, кривой, да стремненький, но в нем было столько революционных фич, которые том же [[Vichan]] появились далеко не сразу: Теневые баны, багтреккер-разделы, интернациональные доски, версия под мобилки, карта ответов, уведомления о новых ответах (один из первых движков где это появилось), работа сайта без перезагрузки страниц, адекватный API из коробки. Ололорд в свое время был как ёбаный швейцарский нож, к которому прикрутили шуруповерт и табуретку. В противовес тому, что большинство из этого работала очень не очень, можно сказать что в то время большинство движков обо всем этом только мечтали. | + | На момент создания движок был не иначе как чудом инженерной мысли. Да, кривой, да стремненький, но в нем было столько революционных фич, которые том же [[Vichan]] появились далеко не сразу: Теневые баны, багтреккер-разделы, интернациональные доски, версия под мобилки, карта ответов, уведомления о новых ответах (один из первых движков где это появилось), удаление своих постов, работа сайта без перезагрузки страниц, адекватный API из коробки. Ололорд в свое время был как ёбаный швейцарский нож, к которому прикрутили шуруповерт и табуретку. В противовес тому, что большинство из этого работала очень не очень, можно сказать что в то время большинство движков обо всем этом только мечтали. |
===Плюсы=== | ===Плюсы=== | ||
*Быстрый бэкэнд (все кэшируется, скорость зависит только от производительности вашего SSD); | *Быстрый бэкэнд (все кэшируется, скорость зависит только от производительности вашего SSD); | ||
| Строка 419: | Строка 419: | ||
[[Оллчан]]<br> | [[Оллчан]]<br> | ||
[[Ololord (C++)]] | [[Ololord (C++)]] | ||
| + | {{nav|Движки}} | ||
Текущая версия на 16:53, 14 июня 2025
Ololord.js — Кривой движок для параши запиленный Андрюшкой, на котором работали Тумбач и Allchan.su. Под завязку нафарширован тонной ненужных функций, большая часть из которых работала на половину, а некоторые из этой половины и не работали вовсе. Заброшен после продажи Оллчана Аллкалику. Несмотря на это у движка почти нулевой отклик, а то что работало, работало как надо и даже лучше. Считается приемником Ololord'а.
Содержание
История[править]
В самом начале (начало 2016 г.) движок вполне исправно работал, но уже спустя год начал разваливаться, однако Андрюшка не спешил исправлять это и, по некоторым данным, залазил в код Ололорда дай бог раз в неделю. К моменту продажи Оллчана в 2022 г., ситуация стала немного лучше, однако глобально не сильно изменилась: Андрюша раз в неделю фиксил баги заменял одни баги на другие, добавлял новые фичи нагромождал код не рабочим мусором и обновлял библиотеки. В репозитории гитхаба находится очень старая и устаревшая версия от 17 сентября 2016 года, которая уже начинала разваливаться. Более свежих версий нет, Андрюшка не публиковал исходники своих параш.
Особенности[править]
На момент создания движок был не иначе как чудом инженерной мысли. Да, кривой, да стремненький, но в нем было столько революционных фич, которые том же Vichan появились далеко не сразу: Теневые баны, багтреккер-разделы, интернациональные доски, версия под мобилки, карта ответов, уведомления о новых ответах (один из первых движков где это появилось), удаление своих постов, работа сайта без перезагрузки страниц, адекватный API из коробки. Ололорд в свое время был как ёбаный швейцарский нож, к которому прикрутили шуруповерт и табуретку. В противовес тому, что большинство из этого работала очень не очень, можно сказать что в то время большинство движков обо всем этом только мечтали.
Плюсы[править]
- Быстрый бэкэнд (все кэшируется, скорость зависит только от производительности вашего SSD);
- Многофункциональный пользовательский интерфейс (автоматическое скрытие постов на основе правил, встроенный проигрыватель, инструменты JS-only drawing и многое другое);
- Удобный и современный UI, легко настраиваемый с помощью настроек и пользовательского CSS/JS;
- Мобильная версия пользовательского интерфейса (автоматическое определение мобильных устройств);
- Удобное управление контентом и пользователями через веб-интерфейс;
- Идеальная масштабируемость (чем лучше процессор, тем выше нагрузки, которые он может обрабатывать);
- Встроенная базовая защита от DDoS (настраиваемая);
- Полный Web API для пользовательских клиентских приложений;
- Удобство в локализации;
- Подробная документация.
Минусы[править]
- Большинство новых функций работает через задницу;
- Проблема с нововведениями (Сложно что-то добавить чтобы что-то не поломать);
- Из-за большого функционала жрет слишком много ресурсов;
- Сильно транжирит трафик.
Установка[править]
Инструкция взята из андрюшкиного репозитория движка и переведена на русский:
Чтобы начать использовать движок ololord.js, скачайте копию из репозитория, распакуйте ее и следуйте инструкциям, перечисленным в следующих разделах:
1. Требования[править]
Аппаратное обеспечение
- Рекомендуется процессор 2 ГГц. Хотя фактических ограничений нет, обработка файлов может быть раздражающе медленной, если у вас медленный процессор.
- 1-1,5 ГБ свободной оперативной памяти. Технически, 200-300 МБ должно быть достаточно, но из-за странного бага Node.js или Express потребление памяти иногда увеличивается до 700-800 МБ на 0,5-1 секунду, а затем снижается до нормального значения.
ОС
- Linux x32/x64. Любая UNIX-подобная система подойдет (теоретически). Протестировано на Centos 7.1 x64.
Node.js
- Node.js 5.0.0+. 4.2.x может подойти, но это не проверялось. Настоятельно рекомендуется загрузить Node.js с сайта Node.js, поскольку версия в репозитории вашей ОС, скорее всего, устарела (или что-то в этом роде).0.x
Важно: убедитесь, что Node.js находится в вашем PATH (в UNIX-подобной системе введите: , в Windows запустите ).which nodenode.exe
Библиотеки и инструменты
RedisСервер. Конфигурация по умолчанию должна быть ОК. Официальный сайт.ElasticsearchСервер. Конфигурация по умолчанию должна быть ОК. Официальный сайт. Загрузки доступны здесь. Примечание: вам также нужно будет установить JRE/JDK. Вот официальное руководство по установке и запуску Elasticsearch в Linux.sqlite3(включая библиотеки dev). Официальный сайт.Cairo(для пакета). Пожалуйста, обратитесь к npmjs.canvasImageMagick(для создания миниатюр). Официальный сайт.CImgи (для генерации хэша изображения с помощью пакета). Пожалуйста, обратитесь к npmjs. Подробности см. в разделах CImg и pHash.pHashImageMagickphash-imagefile(должен поддерживать MIME-тип). Исходный код можно получить [здесь https://github.com/file/file]. Могут быть некоторые проблемы с файлами, пожалуйста, обратитесь к II.5. 3rdparty related issues.video/webmmp3ffmpeg(с поддержкой , , и ). Пожалуйста, обратитесь к этой статье, чтобы узнать, как собрать ffmpeg со всеми необходимыми форматами. Еще одна.mp3oggwebmpng
Важно: убедитесь, что все библиотеки и инструменты находятся в PATH.
Возможные проблемы
- CImg
- Пакет CImg обычно называется . Он может отсутствовать в некоторых дистрибутивах. В этом случае загрузите его с официального сайта (нажмите кнопку «Стандартный пакет») и установите вручную. Вам следует поместить файл и каталог в ваш dir.cimg-devCImg.hplugins/usr/include
- Распакуйте загруженный архив и введите:
sudo cp /path/to/unzipped-cimg/CImg.h /usr/include sudo cp -r /path/to/unzipped-cimg/plugins /usr/include
- pHash
- Пакет pHash обычно называется . Он может отсутствовать в некоторых дистрибутивах. В этом случае загрузите его из официального сайта (нажмите ссылку "pHash 0.9.6 - Linux") и соберите его вручную.
libphash0-dev
- Распакуйте загруженный архив и введите:
./configure --prefix=/usr --enable-video-hash=no --enable-audio-hash=no make sudo make install
Примечание: если сборка не удалась (это происходит в некоторых дистрибутивах), откройте файл, найдите строку ./Makefile
SUBDIRS = src bindings examples
и замените ее на
SUBDIRS = src bindings
(удалите цель). Затем запустите снова. examples make
2. Пакеты NPM[править]
Вам необходимо установить следующие пакеты:
- big-integer ^1.6.7
- canvas ^1.3.1
- commander ^2.9.0
- cookie-parser ^1.4.0
- cute-localize ^0.1.8
- ddos-express ^0.1.1
- deep-equal ^1.0.1
- dot ^1.0.3
- du ^0.1.0
elasticsearch^11.0.1escape-html^1.0.3express^4.13.3express-cluster0.0.4fast-csv^0.6.0fluent-ffmpeg^2.0.1highlight.js^8.9.1html-to-text^2.0.0imagemagick^0.1.3ioredis^1.15.1ip-address^5.0.2jdenticon^1.3.2log4js^0.6.29mathjax-node^0.5.1merge^1.2.0mkpath^1.0.0moment^2.10.6multiparty^4.1.2musicmetadata^2.0.2node-captcha^0.2.2phash-image^3.5.0promisify-node^0.2.1q-io^1.13.1random-js^1.0.8read^1.0.7sockjs^0.3.17sqlite3^3.1.1uuid^2.0.1xml2js^0.4.15xregexp^3.0.0
Чтобы установить необходимые пакеты NPM, введите следующее:
npm install
Примечание: не забудьте сначала установить все зависимости.
Примечание 2: см. актуальный список пакетов в файле package.json.
3. Геолокация[править]
ololord.js использует базу данных IPInfoDB для геолокации. Вам необходимо самостоятельно загрузить соответствующий файл DB (в формате CSV) и преобразовать его в базу данных SQLite 3 с помощью скрипта tools/geolocation.js. Файл .csv можно загрузить здесь (требуется регистрация). Если вы используете IPv6, вам следует загрузить версию IPv6 базы данных IPInfoDB, в противном случае следует использовать версию IPv4.
После загрузки файла выполните:
./tools/geolocation.js <path/to/file.csv>
Примечание: операция может занять некоторое время (до 10–20 минут в зависимости от вашего оборудования).
Примечание 2: геолокация выполняется очень быстро (~5 миллисекунд на запрос).
4. Базовая Конфигурация[править]
Для корректной работы приложения необходимо добавить некоторые базовые настройки. Для начала создайте файл конфигурации: config.json. Затем вставьте следующее содержимое:
{
"server": {
"port": 80,
"youtubeApiKey": "Your YouTube API key here"
},
"site": {
"protocol": "http",
"domain": "localhost:80"
},
"board": {
"captchaEnabled": true,
"launchDate": "2015-02-12T21:00:00",
"int": {
"showWhois": true
}
},
"captcha": {
"google-recaptcha": {
"privateKey": "Your Google reCAPTCHA private key here",
"publicKey": "Your Google reCAPTCHA public key here"
},
"google-recaptcha-v1": {
"privateKey": "Your Google reCAPTCHA v1 private key here",
"publicKey": "Your Google reCAPTCHA v1 public key here"
},
"codecha": {
"privateKey": "Your Codecha private key here",
"publicKey": "Your Codecha public key here"
}
}
}
Примечание: Это лишь малая часть параметров конфигурации, необходимых для корректной работы приложения. Другие параметры конфигурации описаны здесь: II.1. Configuration.
Параметры конфигурации[править]
- server.port
- Порт, на котором сервер будет прослушивать соединения. Обычно 80, но значение может отличаться, если трафик проходит через какой-либо HTTP-сервер, например nginx.
- server.youtubeApiKey
Ключ API YouTube, используемый для извлечения информации о видео YouTube в сообщениях и для правильной разметки соответствующих ссылок (добавление всплывающей подсказки с названием видео и миниатюрой, а также создание расширяемого встроенного проигрывателя YouTube). Документация API YouTube.
- site.protocol
- Предпочтительный протокол (http или https). Используется для ссылок в сгенерированном канале RSS и для предоставления ссылок на файлы внешним поисковым системам изображений (например, TinEye).
- site.domain
- Используется для той же цели, что и site.protocol.
- board.captchaEnabled
- Включает или отключает капчу.
- board.launchDate
Дата запуска вашей imageboard. Используется для расчета скорости публикации. Необходимо указать в формате ISO: YYYY-MM-DDThh:mm:ss. Пример: 2015-02-12T21:00:00.
- board.int.showWhois
- Показать страну (с соответствующим флагом страны) и город пользователя на доске /int/ (международная). Вы можете включить эту опцию на любой доске (но обычно не следует).
- Примечание: информация о геолокации сохраняется для каждого сообщения, независимо от того, включена ли опция showWhois, но она не отображается на страницах, если эта опция не включена.
- Закрытые и открытые ключи капчи
- Вы должны указать закрытые и открытые ключи капчи для каждой службы капчи. Закрытые ключи используются только на сервере, а открытые ключи отображаются на страницах сайта.
- Links:
- Примечание: По умолчанию Codecha — единственная доступная капча для доски /pr/ (Программирование). Вам следует предоставить ключи сервиса Codecha или включить другие движки капчи для этой доски (см. II.1. Конфигурация).
Запуск[править]
Запуск и выход[править]
Запуск ololord.js довольно прост:
./app.js
Обычно при запуске будет выводиться некоторый текст, а также будет отображаться командная строка:
[17662] Using config file: "/home/username/dev/js/projects/ololord.js/config.json"... Generating JSON cache, please, wait... Generating HTML cache, please, wait... Generating RSS, please, wait... Spawning workers, please, wait... [17677] Using config file: "/home/username/dev/js/projects/ololord.js/config.json"... [17677] Initializing... [17677] Listening on port 8080... Type 'help' for commands ololord.js>
Чтобы выйти из приложения, вы можете либо ввести:
quit
либо:
q
или нажать Ctrl+C (последнее не рекомендуется).
Генерация кэша[править]
При первом запуске ololord.js вам нужно будет передать параметр --regenerate для генерации кэша HTML/JSON.
./app.js --regenerate
или
./app.js -r
Указание файла конфигурации[править]
По умолчанию используется файл конфигурации ./config.json. Вы можете указать любой другой файл конфигурации с помощью параметров командной строки -c или --config-file. Путь может быть относительным:
./app.js -c ./custom-config.json
или абсолютным:
./app.js --config-file /etc/config/ololord.js/custom-config.json
Если указанный файл не существует, будет использована конфигурация по умолчанию (в этом случае приложение может быть даже недоступно в браузере).
См. также: 4. Базовая конфигурация и II.1. Configuration.
Аккаунт суперпользователя[править]
Чтобы иметь возможность управлять уровнями доступа пользователей, запретами и выполнять другие административные действия (редактировать/удалять сообщения и т. д.), вам сначала нужно создать учетную запись суперпользователя. Запустите ololord.js и введите:
add-superuser
Вам будет предложено ввести пароль или хэш пароля SHA-1 (распознается автоматически), а затем список IP-адресов. Эти адреса используются для предотвращения удаления ваших сообщений администратором или модератором (случайно или намеренно).
Например:
ololord.js> add-superuser Enter password: ************* Enter superuser IP list (separate by spaces): 127.0.0.1 192.168.0.1 OK
Когда учетная запись суперпользователя создана, вы можете зайти на любую страницу с помощью браузера, нажать кнопку «Войти» Кнопка входа (расположена в левом верхнем углу страницы) и ввести свой пароль. После этого вы сможете удалять/редактировать сообщения, закрывать темы, видеть IP-адреса пользователей и т. д.
Примечание: пароли хранятся в базе данных в виде хешей SHA-1.
Чтобы удалить суперпользователя, введите:
remove-superuser
и введите пароль или хеш SHA-1 пароля (распознается автоматически).
Конфигурация nginx[править]
Это пример nginx конфигурации.
user root; # Вы можете изменить это на «www-data» или на какого-либо другого пользователя.
worker_processes 1; # Количество рабочих процессов. 1 должно быть достаточно.
access_log /var/log/nginx/access.log; # Расположение журнала доступа.
error_log /var/log/nginx/error.log; # Расположение журнала ошибок.
events {
worker_connections 2048; # Максимальное количество соединений, которые может обслуживать рабочий процесс.
}
http {
include /etc/nginx/mime.types; # Стандартные типы MIME. НЕ изменять.
default_type application/octet-stream; # MIME-тип по умолчанию. НЕ изменять.
# Раскомментируйте следующие строки, чтобы включить SSL (HTTPS).
# ssl_session_cache shared:SSL:10m; # Это
# ssl_session_timeout 5m; # оптимальные настройки.
# ssl_prefer_server_ciphers on; # Вы можете их погуглить
# ssl_stapling on; # если хотите
# resolver 8.8.8.8; # их изменить.
# Раскомментируйте следующие строки, чтобы включить кэширование в памяти. Вам также придется создать RAMDisk.
# proxy_cache_path /path/to/ramdisk levels=1:2 keys_zone=ram:10m max_size=1g inactive=3d use_temp_path=off; # Объявление местоположения кэша
# map $request_uri $nocache { # Отключение кэширования часто изменяемого контента и вызовов API.
# default 0;
# ~*\.(html|json|rss) 1;
# ~*/[a-z0-9_]+/src/.* 1;
# ~*/[a-z0-9_]+/? 1;
# ~*/[a-z0-9_]+/index\.html 1;
# ~*/[a-z0-9_]+/[0-9]+\.(html|json) 1;
# /api/* 1;
# /misc/* 1;
# /action* 1;
# }
limit_req_zone $binary_remote_addr zone=req_perip:10m rate=10r/s; # Не более 10 запросов в секунду для 1 IP.
limit_req_zone $binary_remote_addr zone=req_perserver:10m rate=1000r/s; # Не более 1000 запросов в секунду для всего сервера.
limit_conn_zone $binary_remote_addr zone=conn_perip:10m;
limit_conn_zone $binary_remote_addr zone=conn_perserver:10m;
upstream backend { # Использование «балансировки нагрузки» для обеспечения резервного сервера в случае сбоя приложения ololord.js.
server 127.0.0.1:8080; # Приложение ololord.js должно прослушивать этот порт.
server 127.0.0.1:8200 backup; # Если приложение ololord.js недоступно, используется резервный сервер (см. ниже).
keepalive 1024; # Поддерживайте до 1024 открытых подключений к ololord.js.
}
server { # Главный сервер
listen 80 default_server; # Прослушивайте соединения на стандартном HTTP-порту 80.
# listen 443 ssl; # Раскомментируйте эту строку, чтобы включить SSL (HTTPS).
server_name yoursite.com www.yoursite.com;
# Раскомментируйте следующие строки, чтобы включить SSL (HTTPS).
# ssl_certificate /etc/nginx/cert/yoursite.crt; # Укажите путь к вашему SSL-сертификату.
# ssl_certificate_key /etc/nginx/cert/yoursite.unencrypted.key; # Укажите путь к незашифрованному ключу вашего SSL-сертификата.
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # SSLv2 и SSLv3 не являются безопасными. Вы можете добавлять их на свой страх и риск.
# ssl_ciphers "HIGH:!RC4:!aNULL:!MD5:!kEDH"; # Ну, если хотите, можете поискать это в Google.
limit_req zone=req_perip burst=20; # Применяем указанные выше ограничения по IP-адресам.
limit_req zone=req_perserver burst=2000; # Применение глобальных ограничений сервера, заявленных выше.
limit_conn conn_perip 10; # Не более 10 одновременных подключений на один IP.
limit_conn conn_perserver 1000; # Не более 1000 одновременных подключений на весь сервер.No more than 1000 simultaneous connections for the whole server.
client_max_body_size 50m; # Ограничение размера тела запроса.
client_body_timeout 2m; # Ограничение времени передачи тела запроса.
client_header_timeout 5s; # Ограничение времени передачи заголовков запроса.
keepalive_timeout 360s; # Ограничение времени «keep-alive» соединения до 6 минут.
# Раскомментируйте следующие строки только в том случае, если соответствующие файлы существуют.
# include /etc/nginx/blocked_ips.conf;
# include /etc/nginx/block_tor.conf;
# include /etc/nginx/maintainance.conf;
location /ws/ { # Запросы, связанные с WebSocket, передаются непосредственно на бэкэнд.
if ($maintainanceMode) { # Если установлен флаг обслуживания сервера,
return 503; # то вернуть страницу ошибки 503.
}
proxy_pass http://backend; # Передача запросов на бэкэнд.
proxy_http_version 1.1; # Установка версии HTTP на 1.1 для использования «keep-alive» соединений.
proxy_set_header Upgrade $http_upgrade; # Заголовок, связанный с WebSocket.
proxy_set_header Connection "upgrade"; # Заголовок, связанный с WebSocket.
proxy_set_header X-Client-IP $remote_addr; # Если этот заголовок не установлен, IP-адреса всегда будут 127.0.0.1.
}
location / { # Основное место.
if ($maintainanceMode) { # Если установлен флаг обслуживания сервера,
return 503; # то вернуть страницу ошибки 503.
}
proxy_set_header X-Client-IP $remote_addr; # Если этот заголовок не установлен, IP-адреса всегда будут 127.0.0.1.
# Uncomment the following lines to enable in-memory caching.
# proxy_cache ram;
# proxy_cache_valid 200 1h;
# proxy_no_cache $nocache;
# proxy_pass http://127.0.0.1:80;
# Закомментируйте следующие строки, чтобы включить кэширование в памяти.
root /path/to/ololord.js/public; # Вам необходимо изменить путь к каталогу «ololord.js/public».
try_files $uri $uri/index.html @ololord; # Попытка обслужить статические файлы. Если не найдено, то запрос передается в специальное местоположение.
}
location @ololord { # Это местоположение передает запрос непосредственно на бэкэнд.
proxy_http_version 1.1; # Установка версии HTTP на 1.1 для использования «keep-alive» соединений.
proxy_set_header Connection "";
proxy_set_header X-Client-IP $remote_addr; # Если этот заголовок не установлен, IP-адреса всегда будут 127.0.0.1.
proxy_pass http://backend; # Передаю запрос.
}
error_page 503 /503.html; # Пользовательская страница ошибки 503. Создайте каталог "ololord.js/public/error" и поместите туда файл "503.html".
location = /503.html { # Специальное место для обслуживания пользовательской страницы ошибки 503.
root /path/to/ololord.js/public/error; # Вам необходимо изменить путь к каталогу «ololord.js/public/error».
}
}
server { # Резервный сервер.
listen 127.0.0.1:8200; # Локальное прослушивание порта 8200.
location / { # Всегда возвращает пользовательскую страницу ошибки 503, если основной сервер не работает.
return 503;
}
error_page 503 /503.html; # См. описание объявления пользовательской страницы ошибок выше.
location = /503.html {
root /ololord.js/public/error;
}
}
# Раскомментируйте следующие строки, чтобы включить кэширование в памяти.
# server { # Специальный прокси-сервер для включения кэширования в памяти.
# listen 127.0.0.1:80; # Локальное прослушивание порта 8200.
# location / { # Основное местоположение кэширующего прокси-сервера.
# internal; # Местоположение доступно только внутри компании.
# root /path/to/ololord.js/public; # Вам необходимо изменить путь к каталогу «ololord.js/public».
# try_files $uri $uri/index.html @ololord; # Попытка обслужить статические файлы. Если не найдено, то запрос передается в специальное местоположение.
# }
# location @ololord { # Это местоположение передает запрос непосредственно на бэкэнд.
# proxy_http_version 1.1; # Установка версии HTTP на 1.1 для использования «keep-alive» соединений.
# proxy_set_header Connection "";
# proxy_set_header X-Client-IP $remote_addr; # Если этот заголовок не установлен, IP-адреса всегда будут 127.0.0.1.
# proxy_pass http://backend; # Передаю запрос.
# }
# }
}
Включение SSL (HTTPS)[править]
- Вы можете перейти на https://www.startssl.com/, чтобы получить бесплатный сертификат SSL. Вам нужно будет подтвердить свой сайт, а затем запросить сертификат. Не забудьте раскомментировать соответствующие строки в файле конфигурации.
- Незашифрованный ключ сертификата можно создать из зашифрованного с помощью следующей команды:
openssl rsa -in /path/to/encrypted/key -out /path/to/new/unencrypted/key
- Подробнее о настройке nginx можно прачитать здесь — I.7. nginx configuration
См. также[править]
| Instant 0chan • Мишаба | |
| Makaba • Vichan | |
| TinyIB • Chieftain • Doushio • Kotoba | |
| FoolFuuka | |
| 1chan engine • Bakaba • Tinyboard • Northboard • Ханабира | |
| Ololord.js • Ololord • Erlach • Frikichan • Monaba • Neboard • Orphereus | |
| Exaba • Kusaba X • Linaba • Ochoba | |
| Wakaba • Phalcaba • Futaba • Futallaby • Движок freeport7 • Зептоборда | |
| Kusaba • Атта | |