作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试 nginx。我想用它来执行以下操作:
使用本地文件时,SSI 可以工作,但使用 proxy_pass 从 server1 中使用页面时,SSI 无法工作。
这是我用来尝试实现上述目标的配置。
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 没有返回压缩内容。如果返回的是 gzipped,nginx 不会解压缩它以对其应用 ssi 规则。
您可以通过清除 Accept-Encoding header 来确保以纯文本形式返回响应:
location /hello-world.html {
ssi on;
proxy_set_header Accept-Encoding "";
proxy_pass http://tom.office.bla.co.uk:8080/hello-world/;
}
关于nginx - 使用 nginx,如何在从另一台服务器返回的页面上运行 SSI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24680989/
我是一名优秀的程序员,十分优秀!