使用SSH隧道让Django服务器认为它在AWS内部运行?

你怎么能让你的本地Django开发服务器认为它使用SSH隧道在你的AWS网络中运行?

我的场景,我正在运行一个本地Django服务器,即python manage.py runserver和Redis作为缓存后端(Elasticache).当我的应用程序在AWS环境中运行时,它可以访问Elasticache,但是,本地它不会(这是一件好事).如果由于某种原因我想用Elasticache测试我的本地环境,我需要以某种方式使用SSH隧道使AWS认为它在VPC网络内运行.

我试过通过使用下面的方法来实现这一点.我已经确认我可以使用SSH隧道连接本地连接Redis Desktop Manager所以100%我知道AWS支持这个,我的问题现在正在用Django做同样的事情.

这就是我尝试过的:

> python manage.py runserver 8000
> ssh -i mykey.pem ec2-user@myRandomEC2.com -L 6379:localhost:6379

当我访问http://127.0.0.1:8000/时,收到消息“错误60连接到”消息.

我在这里做错了什么?

笔记:

> ec2-user@myRandomEC2.com不是Redis服务器,只是另一个
AWS上的EC2实例,可以访问我想要用作的Elasticache
隧道.
> mykey.pem具有访问权限和正确的权限.
> ec2实例具有所有正确的权限和访问端口.
>使用Redis Desktop Manager测试SSH隧道,这适用于
那个软件.
> Elasticache和EC2实例都在同一个区域,可以相互连接.

最佳答案
ssh -i mykey.pem ec2-user@myRandomEC2.com -L 6379:localhost:6379

这会将来自本地计算机(on:6379)的请求转发到EC2实例上的localhost:6379.这不是你想要的(除非你在EC2实例上本地运行redis)

您应该使用Elasticache IP

ssh -i mykey.pem ec2-user@myRandomEC2.com -L 6379:

相关文章

本文从多个角度分析了vi编辑器保存退出命令。我们介绍了保存...
Python中的回车和换行是计算机中文本处理中的两个重要概念,...
SQL Server启动不了错误1067是一种比较常见的故障,主要原因...
信息模块是一种可重复使用的、可编程的、可扩展的、可维护的...
本文从电脑配置、PyCharm版本、Java版本、配置文件以及程序冲...
本文主要从多个角度分析了安装SQL Server 2012时可能出现的错...