使用nginx,如何在从另一台服务器返回的页面上运行SSI?

 手机用户2502877953 发布于 2023-01-04 10:29

我正在尝试nginx.我想用它来执行以下操作:

    从server1检索包含一些SSI命令的页面

    处理SSI命令,最终包括来自server2的内容

    返回结果页面

我在使用本地文件时有SSI工作,但在使用proxy_pass从server1使用页面时却没有.

这是我用来尝试实现上述目的的配置.

events {
    worker_connections  1024;
}
http {
    server {
        listen       80;
        server_name  localhost;

        location /hello-world.html {
            ssi on;
            proxy_pass http://tom.office.bla.co.uk:8080/hello-world/;
        }
    }
}

出于测试目的,我正在使用一个简单的SSI命令,如我的浏览器实际最终得到的输出中所示,这与server1上的内容相同:







我是否需要使用proxy_pass之外的其他内容,或者它是否可能?谢谢!

1 个回答
  • 确保server1未返回压缩内容.如果它被返回gzip,nginx将不会解压缩它以将ssi规则应用于它.

    您可以通过清除Accept-Encoding标头确保以纯文本形式返回响应:

    location /hello-world.html {
        ssi on;
        proxy_set_header Accept-Encoding ""; 
        proxy_pass http://tom.office.bla.co.uk:8080/hello-world/;
    }
    

    2023-01-04 10:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有