ASP.NET vNext,在Azure上启用对IIS 8的压缩?

来自火星的阿瓜

将asp.net 5应用程序部署到Azure上的IIS 8时,如何使用Content-Type application / json启用响应的gzip压缩?通常,这可以使用web.config完成,但现在已经消失了……新的方法是什么?

斯蒂芬·斯蒂格(Stefan Steiger)

您需要对kestrel应用程序进行反向代理,然后才能告诉反向代理进行压缩。

在nginx中,如下所示:

server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;
  server_name localhost;

  gzip            on;
  gzip_min_length 1000;
  #gzip_proxied    expired no-cache no-store private auth;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
  gzip_vary on;
  gzip_disable "MSIE [1-6]\.(?!.*SV1)";


  location /
  {
    proxy_pass http://127.0.0.1:5004;
  }
}

因此,这里nginx将在端口80上捕获传入的请求,然后将它们转发到同一台机器上但在端口5004上的kestrel。然后,Kestrel将响应发送回nginx。由于gzip处于打开状态,因此nginx将压缩响应并将其发送给用户。您需要确保的是,在输出例如文件时(例如,在使用以前的Response.TransmitFile时),Kestrel上的应用程序不会返回HTTP标头,例如HTTP 1.1分块编码。

IIS 7.5+支持反向代理。
请参阅此处以获取更详细的信息:https :
//serverfault.com/questions/47537/can-iis-be-configure-to-forward-request-to-another-web-server

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章