如何为运行在Ubuntu系统AWS AMI实例上的Redash服务器设置代理
Redash代理服务配置操作步骤
前置检查
- SSH连接到部署Redash的AWS Ubuntu实例,确保拥有sudo权限
- 进入Redash默认部署目录
/opt/redash,执行sudo docker-compose ps确认所有Redash容器状态为Up - 确认AWS实例安全组已经开放你要用到的代理端口入/出站规则
配置正向代理(Redash访问外部资源走代理)
适用于Redash需要访问公网数据源、发送webhook告警、同步第三方数据等场景:
- 编辑Redash环境变量文件:
sudo nano /opt/redash/env - 在文件末尾添加以下配置,替换为你实际的代理地址:
HTTP_PROXY=http://代理服务器地址:端口 HTTPS_PROXY=http://代理服务器地址:端口 # 不走代理的内部地址,按需添加 NO_PROXY=localhost,127.0.0.1,postgres,redis,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
- 保存文件后重启Redash服务生效:
sudo docker-compose up -d
配置Nginx反向代理(通过域名访问Redash服务)
适用于需要隐藏Redash服务端口、配置HTTPS访问、统一域名入口的场景:
- 安装Nginx:
sudo apt update && sudo apt install nginx -y - 新建Redash的Nginx配置文件:
sudo nano /etc/nginx/sites-available/redash - 写入以下配置,替换为你实际的域名:
server { listen 80; server_name 你的Redash访问域名; location / { proxy_pass http://127.0.0.1:5000; 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 $scheme; proxy_read_timeout 300; } }
- 启用配置并删除默认Nginx站点:
sudo ln -s /etc/nginx/sites-available/redash /etc/nginx/sites-enabled/ sudo rm /etc/nginx/sites-enabled/default - 测试配置合法性:
sudo nginx -t - 重载Nginx生效:
sudo systemctl reload nginx - 如需配置HTTPS,可安装certbot自动签发证书:
按照提示操作即可自动完成SSL配置。sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d 你的Redash访问域名
配置验证
- 正向代理验证:在Redash后台新增一个公网数据源,测试连接是否正常
- 反向代理验证:在浏览器访问你配置的域名,确认可以正常打开Redash登录页面
内容的提问来源于stack exchange,提问作者Sameer Mohd
相关产品推荐
相关产品推荐

