我正在尝试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上的内容相同:
<html>
<!--# set var="test" value="Hello Nginx!" -->
<!--# echo var="test" -->
</html>
我是否需要使用proxy_pass之外的其他内容,或者它是否可能?谢谢!
解决方法:
确保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/;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。