Просим системного администратора настроить проброс портов с белого IP-адреса на наш внутренний прокси:
40.41.42.42:80 -> 192.168.0.100:88
40.41.42.42:443 -> 192.168.0.100:1443
Возможно, что на роутере порты 80 и 443 уже куда-то проброшены, в таком случае надо будет настроить эти ресурсы через обратный прокси, а настройку согласовать с потребителем, который занимает порт, что какое-то время порты будут недоступны. В нашем случае на 80 порту работала веб-публикация демо-базы 1С, которую мы показывали клиентам. Перенастроили её через обратный прокси с SSL-сертификатом.
В случае успешной проброски портов, по адресу 40.41.42.42:80 должна отображаться приветственная страница Nginx, такая же как по адресу 192.168.0.100:88.
3️⃣Конфигурирование Ngnix для HTTP протокола
Первым делом надо восстановить работоспособность публикации базы 1С, которая работала по адресу demo1c.somesite.ru/Baza1C.
Для этого в каталоге: /etc/nginx/sites-available/ создаём файл "demo1c.somesite.ru.conf":
nano /etc/nginx/sites-available/demo1c.somesite.ru.conf
И записываем вот такой конфиг:
server {
listen 88;
server_name demo1c.somesite.ru;
location /Baza1C {
proxy_pass http://192.168.0.200/Baza1C/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
location / {
return 404;
}
}Создаем символическую ссылку на конфиг:
ln -s /etc/nginx/sites-available/demo1c.somesite.ru.conf /etc/nginx/sites-enabled
Проверяем конфиги на наличие ошибок и перезапускаем Nginx:
nginx -t
nginx -s reload
Теперь по адресу demo1c.somesite.ru/Baza1C должна возобновить работу веб-публикация базы 1С.
4️⃣Установка и настройка Let's Encrypt
Переведём работу публикации 1С на протокол https. Я следовал именно таким путём, потому что веб-публикацию 1С оказалось проще настроить и запустить чем сервер 1С-Элемент. Поэтому эту задачу я рассматриваю как удобный способ потренироваться.
Установим Certbot:
apt install certbot
Создадим директорию для работы Letsencrypt, которую будем использовать в конфигах Nginx:
mkdir /var/www/letsencrypt
chown -R nginx:nginx /var/www/letsencrypt
Создадим файл параметров Диффи-Хелмана:
openssl dhparam -out /etc/ssl/private/dhparam.pem 2048
Теперь мы готовы запросить сертификаты для доменов.
5️⃣Конфигурирование Nginx для HTTPS протокола
Сохраним где-нибудь файл "/etc/nginx/sites-available/demo1c.somesite.ru.conf" на всякий случай, а потом заменим его содержимое вот на такое:
server {
listen 88;
server_name demo1c.somesite.ru;
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
}
location = /.well-known/acme-challenge/ {
return 404;
}
}Такая конфигурация понадобится для получения SSL-сертификата.
Проверяем конфиги, перезапускаем Nginx:
nginx -t
nginx -s reload
Запустим Certbot и получим сертификат для домена:
certbot certonly --webroot -w /var/www/letsencrypt -d demo1c.somesite.ru
<< Часть 1
Часть 3 >>
#онпрем #onpremis #опыт
Всё об 1С:Элемент