部署到Amazon EC2实例后Shopify Django应用Admin链接失效
Django Shopify应用部署EC2后,Shopify Admin发票下载链接失效
我用Django开发了一个测试版Shopify应用,支持通过Shopify Admin仪表盘的Admin链接下载订单发票。本地环境搭配ngrok隧道时一切正常,能正常触发发票下载;但部署到Amazon EC2实例后,Admin链接的下载功能失效。
目前确认PDF发票可以正常生成,但推测没有以HttpResponse形式返回给请求方。相关核心代码如下:
def download_invoice(request, raw_order, template_name): raw_order['product_data'] = product_data dir_path = settings.MEDIA_ROOT with tempfile.TemporaryDirectory(dir=dir_path) as tmpdir: output_filename = tmpdir + '\\' + "my-invoice.pdf" path=os.path.join(os.path.dirname(__file__),'./templates/home') templateLoader = jinja2.FileSystemLoader(searchpath=path) templateEnv = jinja2.Environment(loader=templateLoader) TEMPLATE_FILE = template_name template = templateEnv.get_template(TEMPLATE_FILE) outputText = template.render(data=raw_order) pdfkit.from_string(outputText, output_filename) filename = "my-invoice.pdf" wrapper = FileWrapper(open(output_filename, 'rb')) print(output_filename) # breakpoint() # pass response = HttpResponse(wrapper, content_type=mimetypes.guess_type(output_filename)[0]) response['Content-Length'] = os.path.getsize(output_filename) response['Content-Disposition'] = "attachment; filename=" + filename return response
这个函数在应用自身界面调用时能正常下载PDF,但通过Shopify Admin的链接调用时完全没有下载反应。我怀疑问题出在EC2的安全组配置上,当前的入站和出站规则如下:
入站规则:
出站规则:
因为本地ngrok环境下功能正常,且EC2上PDF确实能生成只是没返回给请求,所以判断是EC2的配置问题导致的。需要各位帮忙排查,如需更多细节可以补充。
内容的提问来源于stack exchange,提问作者royalsanga
相关产品推荐
相关产品推荐

