Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core AWS API网关&x2B;兰姆达:法维孔问题_Asp.net Core_Aws Lambda_Aws Api Gateway_Favicon - Fatal编程技术网

Asp.net core AWS API网关&x2B;兰姆达:法维孔问题

Asp.net core AWS API网关&x2B;兰姆达:法维孔问题,asp.net-core,aws-lambda,aws-api-gateway,favicon,Asp.net Core,Aws Lambda,Aws Api Gateway,Favicon,我有一个微服务运行在AWS Lambda(ASP.NET Core 3.1)上,并使用自定义域的API网关发布 在本地运行,一切正常,站点正常,图像加载,favicon也正常 部署到Lambda+API,站点工作,加载图像(PNG、JPG),加载脚本,但不加载favicon.ico。返回无效图像。没有针对PNG、JPG、CSS、JS或任何其他静态内容的特殊配置,它是开箱即用的 favicons有什么解决方案吗?以下解决方案对我很有效 与其使用API网关为favicon.ico提供服务,不如将其上

我有一个微服务运行在AWS Lambda(ASP.NET Core 3.1)上,并使用自定义域的API网关发布

在本地运行,一切正常,站点正常,图像加载,favicon也正常

部署到Lambda+API,站点工作,加载图像(PNG、JPG),加载脚本,但不加载favicon.ico。返回无效图像。没有针对PNG、JPG、CSS、JS或任何其他静态内容的特殊配置,它是开箱即用的


favicons有什么解决方案吗?

以下解决方案对我很有效

与其使用API网关为favicon.ico提供服务,不如将其上载到S3并使其成为公共对象。从S3控制台获取此对象的HTTPS url。然后在Lambda函数中,重定向到它

在我的例子中,这是一个AWS Chalice(Python)应用程序,因此路由逻辑实现如下:

@app.route('/favicon.ico')
def favicon(): 
  return Response(body='', headers={'Location': 'https://s3.amazonaws.com/YOUR_BUCKET_NAME/favicon.ico'}, status_code=301)
虽然不是严格必需的,但也可以在HTML中包含标记以指示favicon的位置,例如:

<link rel="icon" type="image/x-icon" href="/favicon.ico" />

您是否检查了浏览器实际加载的favicon的URL?例如,如果您的favicon声明由于某些原因是错误的,那么您的浏览器可以选择/favicon.ico。你的favicon怎么会“无效”?它是一个空文件吗?如果没有,它包含什么?