开发者社区 > 云原生 > Serverless > 正文

在阿里函数计算中,请问如何关闭 http headers 里返回的云函数相关的字段?

在阿里函数计算中,请问如何关闭 http headers 里返回的云函数相关的字段?d697a90ba8a4a30de995c202eac89319.png

展开
收起
小小鹿鹿鹿 2023-10-30 22:15:58 40 0
5 条回答
写回答
取消 提交回答
  • 在阿里函数计算中,如果希望关闭http headers里返回的云函数相关的字段,需要在函数内部进行处理。具体来说,API网关调用函数计算的事件函数时,会将API的相关数据转换为Map形式传给函数计算服务。然后,函数计算服务处理后,会按照一定的格式返回statusCode、headers、body等相关数据。

    因此,您可以通过修改函数计算服务的输出格式来控制返回的http headers。例如,可以在函数内部定义一个HTTP状态码和一个由Python list对象组成的HTTP Headers。其中,每个Header都是一个包含两个Python str的Python tuple对象。

    此外,如果您没有自定义Headers,函数计算的Response Headers会默认设置为Request请求中相应的字段。例如,Access-Control-Allow-Origin:Request请求的Origin Header和Access-Control-Allow-Credentials: true等。需要注意的是,从安全角度考虑,使用函数计算默认的aliyuncs.com域名,服务端会在Response Headers中强制添加content-disposition: attachment字段,此字段会使得返回结果在浏览器中以附件的方式下载。

    2023-10-31 20:10:33
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    关闭阿里云函数计算的 HTTP Headers 相关字段,可以采用以下方式:

    1. 删除不必要的字段:在响应头部删除不必要的字段;
    2. 设置响应头过滤器:在函数内部使用 Response.setHeader() 方法,移除特定字段。
    3. 使用 Lambda 层过滤器:使用第三方工具(如 ExpressJS)来控制头部字段。
    2023-10-31 13:23:30
    赞同 展开评论 打赏
  • 在阿里云函数计算中,默认情况下,HTTP请求头中会包含一些关于云函数的元信息,这些信息包括云函数的名称、版本、运行状态等。这些信息可以帮助你更好地理解云函数的运行状态。

    如果你想关闭这些信息的返回,你可以修改云函数的代码来实现。具体来说,你可以使用ctx.set('Access-Control-Expose-Headers', '*')来允许任何头部信息,这样就可以覆盖默认的头信息。

    但是请注意,关闭这些头信息可能会影响到你对云函数运行状态的理解,因此在实际操作中,我们并不推荐这样做。

    2023-10-31 10:10:36
    赞同 展开评论 打赏
  • 当HTTP请求处理程序被调用时,和调用一个Web API方式一样,您可以直接使用cURL、Postman或浏览器等方式直接请求调用。如果您是通过浏览器访问HTTP触发器的,对应的函数被强制下载时,请参见解决方法。https://help.aliyun.com/zh/fc/http-handlers-2

    image.png

    使用限制
    一个HTTP函数的一个版本或别名,最多只能创建一个HTTP类型的触发器。详细信息,请参见管理版本和管理别名。

    HTTP Request限制

    Request Headers不支持以x-fc-开头的自定义字段和以下自定义字段:

    connection

    keep-alive

    如果Request超过以下限制,会返回400状态码和InvalidArgument错误码。

    Headers大小:Headers中的所有Key和Value的总大小不得超过8 KB。

    Path大小:包括所有的Query Params,Path的总大小不得超过4 KB。

    Body大小:同步调用请求的Body的总大小不得超过32 MB,异步调用请求的Body的总大小不得超过128 KB。

    HTTP Response限制

    Response Headers不支持以x-fc-开头的自定义字段和以下自定义字段:

    connection

    content-length

    date

    keep-alive

    server

    content-disposition:attachment

    说明
    从安全角度考虑,使用函数计算默认的aliyuncs.com域名,服务端会在Response Headers中强制添加content-disposition: attachment字段,此字段会使得返回结果在浏览器中以附件的方式下载。如果需要解除该限制,需设置自定义域名。更多信息,请参见配置自定义域名。

    如果Response超过以下限制,会返回502状态码和BadResponse错误码。

    Headers大小:Headers中的所有Key和Value的总大小不得超过8 KB。

    其他使用说明

    您可以通过绑定自定义域名,为HTTP函数映射不同的HTTP访问路径。详细信息,请参见配置自定义域名。您还可以使用API网关,后端服务类型选择HTTP服务,设置HTTP函数为后端服务地址,实现类似功能。详细信息,请参见使用函数计算作为API网关后端服务。

    2023-10-31 09:17:54
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载