AWS / EC2状态文本从响应中删除

时间:2018-03-19 20:45:51

标签: amazon-web-services http amazon-ec2 http-headers

我的应用程序部署在EC2实例上的一组docker容器上。在我的本地开发环境中,我使用相同的docker容器集。我的应用程序发回statusText标头以显示有意义的错误消息。在我的本地环境中,所有这些statusText标头都返回响应就好了,但是当将完全相同的代码部署到AWS时,statusText标头始终为空,浏览器似乎将其解释为“OK”。我设置的statusCode正确返回。

tl; dr:有没有人知道AWS或EC2上会从响应标头中删除statusText的任何行为?我在文档中找不到任何内容。

这不会返回状态文本:

server {
    listen       443 http2 ssl;
    server_name  api.example.com;
    root         /var/www/api/public;

    error_log    /var/log/nginx/api.error.log;

    client_max_body_size 16M;

    include ssl.conf;

    location / {
        if ($request_method = OPTIONS ) {
            add_header Access-Control-Allow-Origin  '$cors_host';
            add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE,  OPTIONS";
            add_header Access-Control-Allow-Headers "$http_access_control_request_headers";
            add_header Content-Length 0;
            add_header Content-Type 'text/plain; charset=utf-8';
            return 204;
        }
        add_header Access-Control-Allow-Origin '$cors_host';
        try_files $uri $uri/ /index.php?_url=$uri&$args;
    }

    include fastcgi_exec.conf;
}

这样做:

server {
    listen       80;
    server_name  api.example.dev;
    root         /var/www/api/public;

    error_log    /var/log/nginx/api.error.log;

    client_max_body_size 16M;

    location / {
        if ($request_method = OPTIONS ) {
            add_header Access-Control-Allow-Origin $http_origin;
            add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";
            add_header Access-Control-Allow-Headers $http_access_control_request_headers;
            add_header Content-Length 0;
            add_header Content-Type text/plain;
            return 200;
        }
        try_files $uri $uri/ /index.php?_url=$uri&$args;
    }

    include fastcgi_exec.conf;

}

1 个答案:

答案 0 :(得分:2)

HTTP / 2没有保留HTTP / 1.x中的“原因短语”(状态消息)。

  

HTTP / 2没有定义携带HTTP / 1.1状态行中包含的版本或原因短语的方法。

     

https://http2.github.io/http2-spec/#HttpSequence