如何解决将本地笔记本电脑配置为人偶服务器,将AWS EC2实例配置为人偶代理
我正在尝试配置人偶服务器和代理,以使本地笔记本电脑使用ubuntu 18.04作为人偶服务器,将AWS EC2实例作为人偶代理。当尝试这样做时,我面临与在/ etc / hosts文件中添加主机名以及是否使用公共ip或私有ip地址以及如何进行最终配置并使这项工作有关的问题。
我已经使用了两个系统的公共ip和公共dns在/ etc / hosts文件中指定,但是当尝试运行puppet代理--test时,从该代理获取错误是名称解析和连接暂时失败。到https:// puppet:8140失败。我正在将此用于项目,并且我的设置需要保持这种状态。
解决方法
从Puppet代理到PE服务器的连接已启动,因此该代理将在寻找您的便携式计算机,即使您在主机文件中拥有便携式计算机的详细信息,它也可能无法返回至便携式计算机笔记本电脑的IP地址可能是由您家中的路由器提供的。
为什么不在ec2实例上构建Puppet主机,并将其全部保存在同一网络上,在笔记本电脑上编辑代码,推送到github / gitlab,然后使用代码管理器从那里将代码部署到PE服务器。 / p>
或者,您也可以使用VPN将笔记本电脑直接安装到AWS VPC上,在这种情况下,笔记本电脑将显示为网络上的另一个节点,并且一切正常。
,这里的问题是,人偶服务器需要一个公共IP或一个与人偶代理可以连接到的ec2实例相同的网络中的IP。但是,有一种解决方案可以永久使用,而无需使用VPN。您可以将本地端口隧道连接到ec2实例
"""
ASGI entrypoint. Configures Django and then runs the application
defined in the ASGI_APPLICATION setting.
"""
import os
import django
from channels.routing import get_default_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE","myproject.settings")
django.setup()
application = get_default_application()
->这会将ec2实例上的端口8140隧道传输到本地主机中的端口8140。
然后在ec2实例中,您可以修改ssh -i <pemfile-location> -R 8140:localhost:8140 username@ec2_ip
文件以添加此文件:
/etc/hosts
现在在您的ec2实例上运行puppet代理,一切都将按预期工作。另外请注意,如果关闭上面创建的ssh连接,则ssh隧道将停止工作。
如果您想使ssh隧道更可靠地打开,那么此答案可能会有所帮助:https://superuser.com/questions/37738/how-to-reliably-keep-an-ssh-tunnel-open
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。