erjemin c8a022b3de Fix nginx config - add HTTPS www redirect
- Add server block for www.1998.cadpoint.ru on HTTPS (port 443)
- Redirect www to non-www version (https://1998.cadpoint.ru)
- Properly organize config with HTTP and HTTPS sections
- Clean up duplicate server blocks
2026-03-28 19:25:24 +03:00
2026-03-28 17:48:18 +03:00
2026-03-28 17:49:22 +03:00

Архив сайта cad.ru (1998 год)

ВСЕ о САПР (CAD/CAM/CAE Archive)

Это архивная версия исторического русскоязычного сайта о системах автоматизированного проектирования (САПР), созданного в 19981999 годах для "Русской Промышленной Компании" (РПК). Развернуто по адресу: 1998.cadpoint.ru.

Осторожно:

  • фреймы (frameset) и meta-refresh;
  • оптимизировано под разрешение 640х480;
  • кодировка KOI8-R (не UTF-8);
  • куча "битых ссылок" на внешние ресурсы.

⚠️ Важно: Кодировка KOI8-R

Этот архив хранится в кодировке KOI8-R (устаревший стандарт для русского текста в интернете конца 90-х).

Отображение в Gitea (веб-интерфейс)

Если в веб-интерфейсе Gitea видишь "кракозябры" или иероглифы вместо русского текста — это не ошибка, файлы хранятся корректно. Веб-интерфейс Git/Gitea обычно ожидает UTF-8 и не умеет надёжно показывать KOI8-R как есть. Содержимое в репозитории не повреждено.

Правильное отображение и работа

1. Локально (клонирование + IDE)
git clone https://git.cube2.ru/erjemin/1998-cad-cadpoint.git
cd 1998-cad-cadpoint

Откройте файлы в IDE с явным указанием кодировки KOI8-R:

  • VS Code: нижняя панель → UTF-8 → выберите KOI8-R
  • JetBrains IDE (PhpStorm, IntelliJ и т.д.): правый клик → File EncodingKOI8-R
  • nano/vim: :set encoding=koi8-r (vim)

.editorconfig в репозитории подскажет IDE открыть KOI8-R файлы с правильной кодировкой автоматически.

2. Через nginx (контейнер/веб-сервер)

Сайт отдаётся через nginx с заголовком:

Content-Type: text/html; charset=koi8-r

Браузер автоматически декодирует текст корректно. Содержимое отображается правильно для конечного пользователя.

Структура

.
├── html/                    # Статические файлы сайта
│   ├── index.htm            # Промежуточная страница с meta-refresh
│   ├── index1.htm           # Главная (frameset)
│   ├── header.htm           # Шапка фреймовой структуры
│   ├── nav.htm              # Навигация (левая панель)
│   ├── main.htm             # Основной контент
│   ├── _b/                  # Графические элементы (GIF)
│   ├── _co/                 # Раздел "Компании"
│   ├── _pr/                 # Раздел "Программные продукты"
│   ├── _ex/                 # Раздел "События и новости"
│   ├── _pb/                 # Раздел "Публикации"
│   ├── _fr/                 # Раздел "Ссылки"
│   ├── _sh/                 # Раздел "Поиск"
│   ├── images/              # Баннеры и логотипы
│   ├── robots.txt           # Инструкции для поисковых роботов
│   └── favicon.*            # Иконки браузера
├── config/
│   └── nginx/
│       ├── cadpoint1998--internal-nginx.conf    # Конфиг внутреннего nginx (в контейнере)
│       └── cadpoint1998--external-nginx.conf    # Конфиг внешнего nginx (на хосте, для reverse-proxy)
├── Dockerfile              # Контейнеризация архива (nginx + HTML + конфиги)
├── docker-compose.yml      # Dev-конфиг (локальное тестирование)
├── docker-compose.prod.yml # Prod-конфиг (продакшен с Watchtower)
├── .gitignore              # Исключение из репозитория
├── .gitattributes          # Правила кодировки и обработки файлов
├── .editorconfig           # Рекомендации для редакторов
├── .env.example            # Пример переменных окружения
└── README.md               # Этот файл

Важные замечания

НЕ делай

  • Не переводи файлы в UTF-8 без планомерного миграционного процесса
  • Не пересохраняй файлы в редакторе без явного указания Keep KOI8-R
  • Не игнорируй предупреждения IDE о кодировке

Делай

  • Явно указывай кодировку KOI8-R при открытии файлов
  • Используй .editorconfig (IDE будут читать автоматически)
  • Проверяй git diff перед коммитом, чтобы убедиться, что файлы не перекодированы
  • При внесении изменений убеждайся, что IDE сохраняет KOI8-R

Технический контекст

Фреймовая структура (HTML frameset)

Сайт использует устаревший элемент <frameset> для разделения layout:

  • Левая колонка: nav.htm (навигация)
  • Верхний блок: header.htm (логотип и заголовок)
  • Основная область: main.htm (контент)

Это типично для веб-дизайна конца 90-х, но не поддерживается современными стандартами. При миграции на современный сайт потребуется переделка HTML-структуры. Тем не менее, браузеры показывают сайт корректно.

Meta-refresh редирект

Главная страница (index.htm) использует meta http-equiv="refresh" для редиректа на index1.htm. Это также устаревший подход.

Внешние ресурсы

В коде есть ссылки на старые внешние сервисы (счётчики, баннеры):

  • counter.rambler.ru (архивная служба рейтингов)
  • mail.ru (счётчик Mail.ru)
  • ir.ru (InterReklama, старая рекламная сеть)

Эти сервисы могут быть недоступны или нестабильны. Они не влияют на функциональность сайта при корректной обработке ошибок.

Дальнейшее развитие

Проект может быть расширен в отдельных ветках:

  • legacy-1998 — архивная версия в оригинальном виде (ветка сохранения истории)
  • main — современная версия с контейнеризацией (текущая ветка):
    • Docker контейнеризация (nginx:alpine)
    • docker-compose для dev и prod
    • Watchtower для автоматических обновлений образа
    • Gitea CI/CD пайплайн (автосборка при тегировании)
    • Support для SSL/TLS (через certbot)
    • Reverse-proxy через внешний nginx

Контейнеризация (2026)

Архив полностью перемещён в Docker контейнер с современной инфраструктурой:

Что включено

  • Образ: git.cube2.ru/erjemin/1998-cad-cadpoint:latest (nginx:alpine)
  • Содержимое образа:
    • nginx (web-сервер)
    • Конфиг для внутреннего nginx (с поддержкой KOI8-R)
    • Весь архив HTML сайта (KOI8-R)
    • Конфиг для внешнего nginx (для reverse-proxy на хосте)

Как запустить

Development (локально):

docker-compose up --build
# Сайт доступен на http://127.0.0.1:8030

Production (на сервере):

docker-compose -f docker-compose.prod.yml up -d
# Watchtower автоматически следит за обновлениями образа
# Сайт проксируется через внешний nginx на хосте

Детальная документация

См. DEPLOYMENT.md для полной инструкции по развёртыванию на продакшене.

Контакты и лицензия

Автор: Sergei Erjemin (это я)
Контакт: erjemin@gmail.com

Архив сохранён и перенесён в современную инфраструктуру (Docker) в 2026 году.


Последнее обновление: March 28, 2026 (добавлена контейнеризация)

Description
Архивный сайт cad.ru от 1998 года (осторожно: кодировка koi8r, frameset, разрешение 480x600)
https://1998.cadpoint.ru
Readme 2.3 MiB
Languages
HTML 99.8%