Я использую этот образ https://github.com/sverhoeven/docker-cartodb для запуска собственного контейнера, а затем создал обратный прокси-сервер с помощью nginx для включения ssl.
Открывается веб-сайт ssl, но проблема в том, что carto не обнаруживает изменения в протоколе, и я получаю предупреждение о смешанном содержании из-за запросов api от cbd.js по протоколу HTTP.
В каком файле я должен изменить протокол вызовов api, вот моя установка https://carto.gq.





Включить SSL
Установить Nginx
sudo apt-get update
sudo apt-get install nginx
Установить certbot-nginx
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
Теперь следуйте инструкциям на экране по мере их появления.
Редактировать файл Nginx
sudo nano /etc/nginx/sites-available/default
Теперь найдите существующую строку server_name и замените подчеркивание _ на ваше доменное имя:
server_name example.com www.example.com;
Теперь замените блок ниже:
location / {
…………………………
}
С этим, приведенным ниже, и как nginx-change.txt в папке docs
client_max_body_size 150M;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8088;
}
Затем проверьте синтаксис и перезагрузите Nginx, чтобы загрузить новую конфигурацию.
sudo nginx -t
sudo systemctl reload nginx
Пропустить брандмауэр пока добавлю позже.
Получение SSL-сертификата
sudo certbot --nginx -d carto.ml -d www.carto.ml
После этого следуйте инструкциям на экране.
Запустить контейнер
docker run -d -p 127.0.0.1:8088:80 -h carto.ml sandeepgadhwal/cartodb
Получить идентификатор контейнера
docker ps -a
например: 99718a6233b9
Подключиться к контейнеру bash
docker exec -it {containerid} /bin/bash
пример: docker exec -it ac2ce1a67df3 / bin / bash
Установите недостающие компоненты
apt-get install nano
Отредактируйте baseurl в файле rails.
nano cartodb/app/models/user/user_decorator.rb
вам нужно будет отредактировать строку 100, замените base_url: public_url на base_url: public_url.sub ('http', 'https') Это обновит user_data.base_urlglobal, который cdb.js использует для сборки многие из вызовов API
Отредактируйте протоколы Api и порт в app_config.yml, вы можете найти то же самое в папка docker-cartodb.
nano /cartodb/config/app_config.yml
вам нужно будет отредактировать строку 35,37,40,42,46,49,51,54,258,, 259,261,262. замените порт на 443 или порт https вашего сервера, замените http на https Это обновит api_urls для sql и карт Api.
выйти из редактора и bash
Press ctrl + c to exit
Подтвердите запись в файл, нажав Y и нажав Enter
Затем для выхода из bash
press ctrl + q + p
Перезапустить контейнер
docker restart {containerid}