我使用无服务器Zappa框架运行部署在AWS lambda上的Django项目。可以通过AWS API Gateway的随机生成的链接访问该链接,说:-
randomly-generation-link.aws.amazon.com/production
我还从ACM创建了SSL证书,并用我的域验证了
example.com
现在,当我运行zappa certify时,此命令将成功认证我的域并在API网关控制台下使用以下配置创建自定义域:-
优化了端点配置边缘
目标域名 d25ihv8a5022zi.cloudfront.net
托管区域ID A2FDTNGATAQYW6
ACM证书 example.com(c504428e)
现在,我需要将域名example.com
指向randomly-generated-link.aws.amazon.com/production
,因此我使用CNAME更新了Godaddy上的记录,如下所示:-
TYPE-CNAME NAME-example.com VALUE-d25ihv8a5022zi.cloudfront.net TTL-1小时
预期结果-我在randomly-generated-link.aws.amazon.com
上运行的应用程序可以从example.com
访问。
我得到了-403错误 无法满足该请求。错误的请求。 由cloudfront(CloudFront)生成
编辑:-因此,我摆脱了zappa创建的自定义域,并手动创建了新的Cloudfront发行版,如下所示:-
传送方式-网络域名-d35ihv8a5022fe.cloudfront.net 来源-随机产生的link.aws.amazon.com/production cNAMES- example.com状态-部署状态-启用
之所以这样做,是因为zappa生成的Cloudfront分发隐藏在AWS控制台中。但是,我注意到Zappa生成的分发端点在我在浏览器中检查地址时被禁止,并且新创建的分发端点重定向到我的应用程序。
仍然,转到example.com会给我403错误。
答案 0 :(得分:0)
基本路径映射
路径/
目标[lambda端点]。 [制作]
如果可能的话,在route53上托管域也是一个好主意
答案 1 :(得分:0)
这不再是DNS问题,可能是因为Edge经过优化使用CloudFront并需要一些时间将新的自定义域部署到所有边缘位置吗?启用自定义域名后,您等待了多长时间?
答案 2 :(得分:0)
显然,我可以使用它。将我的域名服务器移至route53,并在class A: pass
class B: pass
class visitor:
def __init__(self, f):
self.f = f
self.cases = {}
def case(self, type1, type2):
def call(fun):
self.cases[(type1, type2)] = fun
return call
def __call__(self, arg1, arg2):
fun = self.cases[type(arg1), type(arg2)]
return fun(arg1, arg2)
@visitor
def f(x, y): pass
@f.case(A, int)
def fun1(a, b):
print("called with A and int")
@f.case(B, str)
def fun2(a, b):
print("called with B and string")
f(A(), 5)
f(B(), "hello")
中添加了
“ route53_enabled”:是
,然后使用zappa_settings.json
命令再次进行认证。
必须等待40分钟才能成功!
尽管,我不知道为什么在使用Godaddy进行域管理时它不起作用。可以说route53目前是一种快速的解决方法。