全球主机交流论坛
标题:
请教 Nginx 反代页面含有frame框架问题
[打印本页]
作者:
deepflow
时间:
2017-8-26 11:26
标题:
请教 Nginx 反代页面含有frame框架问题
源站页面内容通过框架调用,
<frame src="abc/123">
复制代码
,现在通过在反代服务器上安装证书的方式来反代该站点实现https访问。
虽然用的是相对路径,但是在Chrome浏览器下显示的最终路径还是http的,所以就被默认屏蔽页面空白。
利用nginx的sub_filter 的替换功能,把
"abc/123"
复制代码
替换成
"$host/abc/123"
复制代码
这样的形式,再查看反代页面源代码时发现已经替换成功,框架路径是https了。
但是在Chrome下仍然被屏蔽,控制台里的错误信息显示框架仍然是http的。
因为没有源站权限,无法修改源站代码,只能在反代上想办法。
求大佬现身指点一下,谢谢。
作者:
suwubee
时间:
2017-8-26 11:27
没懂你啥意思,是frame里还有http?
作者:
suwubee
时间:
2017-8-26 11:28
location /abc/123
{
重新proxy 替换ssl,反代替换整个框架里的网页;
}
作者:
deepflow
时间:
2017-8-26 12:39
suwubee 发表于 2017-8-26 11:28
location /abc/123
{
重新proxy 替换ssl,反代替换整个框架里的网页;
感谢大佬指点,是http源站里面只有frame框架。
location ab/123
{
proxy
}
复制代码
容器里的代码和location / 里的一样吗,是不是也这样就可以:
{
proxy_pass http://domain.com;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
expires 2d;
}
复制代码
作者:
suwubee
时间:
2017-8-26 12:42
你试试看,可能要proxy_pass http://domain.com/abc/123;
但是一想也不对啊,如果都是这个域名,你又sub_filter了http,不应该还会出现http的,除非你sub_filter 开了on?
作者:
suwubee
时间:
2017-8-26 12:44
proxy里一定要插入proxy_set_header Accept-Encoding "";
如果你源站开启了gzip,替换是不生效的
欢迎光临 全球主机交流论坛 (https://lilynana.eu.org/)
Powered by Discuz! X3.4