Включить https в установке cartodb

Я использую этот образ https://github.com/sverhoeven/docker-cartodb для запуска собственного контейнера, а затем создал обратный прокси-сервер с помощью nginx для включения ssl.

Открывается веб-сайт ssl, но проблема в том, что carto не обнаруживает изменения в протоколе, и я получаю предупреждение о смешанном содержании из-за запросов api от cbd.js по протоколу HTTP.

например: http://carto.gq/user/dev/api/v1/viz/?tag_name=&q=&page=1&type=&exclude_shared=false&per_page=20&locked=&tags=&shared=no&only_liked=false&order=updated_at&types_raster=exclude.

В каком файле я должен изменить протокол вызовов api, вот моя установка https://carto.gq.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
0
552
1

Ответы 1

Включить SSL

Включите Nginx на сервере и перенаправьте весь трафик на ssl (ubuntu):

  1. Установить Nginx

    sudo apt-get update
    sudo apt-get install nginx
    
  2. Установить certbot-nginx

    sudo add-apt-repository ppa:certbot/certbot
    sudo apt-get update
    sudo apt-get install python-certbot-nginx
    

    Теперь следуйте инструкциям на экране по мере их появления.

  3. Редактировать файл 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;
    }
    
  4. Затем проверьте синтаксис и перезагрузите Nginx, чтобы загрузить новую конфигурацию.

    sudo nginx -t
    sudo systemctl reload nginx
    
  5. Пропустить брандмауэр пока добавлю позже.

  6. Получение SSL-сертификата

    sudo certbot --nginx -d carto.ml -d www.carto.ml
    

    После этого следуйте инструкциям на экране.

Включите SSL в контейнере carto после его работы на внутреннем порте 8088:

  1. Запустить контейнер

    docker run -d -p 127.0.0.1:8088:80 -h carto.ml sandeepgadhwal/cartodb
    
  2. Получить идентификатор контейнера

    docker ps -a    
    

    например: 99718a6233b9

  3. Подключиться к контейнеру bash

    docker exec -it {containerid} /bin/bash
    

    пример: docker exec -it ac2ce1a67df3 / bin / bash

  4. Установите недостающие компоненты

    apt-get install nano 
    
  5. Отредактируйте 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

  6. Отредактируйте протоколы 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.

  7. выйти из редактора и bash

    Press ctrl + c to exit
    

    Подтвердите запись в файл, нажав Y и нажав Enter

    Затем для выхода из bash

    press ctrl + q + p
    
  8. Перезапустить контейнер

    docker restart {containerid}
    

Другие вопросы по теме