首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在cartodb安装中启用https

在cartodb安装中启用https
EN

Stack Overflow用户
提问于 2018-03-30 21:39:59
回答 1查看 588关注 0票数 0

我使用这个镜像https://github.com/sverhoeven/docker-cartodb来启动我自己的容器,然后由nginx创建一个反向代理来启用ssl。

ssl网站弹出,但问题是carto没有检测到协议的变化,并且由于cbd.js在HTTP协议上的api请求,我收到了混合内容警告。

例如: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=table&exclude_raster=true

我应该修改api调用的协议的文件,这里是我的安装https://carto.gq

EN

回答 1

Stack Overflow用户

发布于 2018-03-31 05:57:49

启用SSL

在服务器上启用Nginx,并将所有流量重定向到ssl (ubuntu):

  1. 安装Nginx

sudo apt-get update sudo apt-get install nginx

  • Install 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可用/默认

现在找到现有的server_name行,并将下划线_替换为您的域名:

server_name example.com www.example.com;

现在替换下面的代码块:

位置/{…………………………}

如下所示,在docs文件夹中使用nginx-change.txt

client_max_body_size 150M;location /{#首先尝试将请求作为文件,然后是#作为目录,然后回退到显示404。#try_files $uri $uri/ =404;proxy_set_header主机$host;proxy_pass http://127.0.0.1:8088;}

  • 然后,验证语法并重新加载Nginx以加载新配置。

sudo nginx SSL sudo systemctl reload nginx

  • 暂时跳过防火墙将添加SSL证书

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

通过完成此操作后,请按照屏幕上的说明进行操作

carto容器在8088内部端口上运行后,启用SSL:

  1. 启动容器

sandeepgadhwal/cartodb

  • Get运行-d -p 127.0.0.1:8088:80 -h carto.ml docker容器ID

docker ps -aexample: docker to container bash

docker exec -it {containerid} /bin/bash

示例: /bin/bash

  • Install exec -it ac2ce1a67df3 docker缺少组件

apt-get安装nano rails

  • 编辑rails文件中的baseurl。

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协议和app_config.yml中的portd您可以在docker-cartodb文件夹中找到相同的内容。

nano /cartodb/config/app_config.yml

您需要编辑第35,37,40,42,46,49,51,54,258,,259,261,262行。将端口替换为443或服务器的https端口,将http替换为https这将更新sql和映射Api的api_urls。

  • 退出编辑器和bash

按ctrl +c退出

通过按Y键和enter键确认写入文件

然后退出bash

按ctrl +q+p

  • 重新启动容器

docker重启{containerid}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49575580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档