您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

5b51 2022/1/14 8:22:04 python 字数 2302 阅读 595 来源 www.jb51.cc/python

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

概述

你怎么能让你的本地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:
  

总结

以上是编程之家为你收集整理的使用SSH隧道让Django服务器认为它在AWS内部运行?全部内容,希望文章能够帮你解决使用SSH隧道让Django服务器认为它在AWS内部运行?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶