通过nginx代理站点会导致空白页面
我们已经使用Wix.com开发了我们网站的新版本。因为我们在iOS上使用深度链接,所以我们需要。事实证明,Wix目前不支持这一点,尽管它们是 “没问题,”我们想。我们可以使用一个nginx反向代理来提供通过nginx代理站点会导致空白页面,nginx,proxy,velo,Nginx,Proxy,Velo,我们已经使用Wix.com开发了我们网站的新版本。因为我们在iOS上使用深度链接,所以我们需要。事实证明,Wix目前不支持这一点,尽管它们是 “没问题,”我们想。我们可以使用一个nginx反向代理来提供苹果应用程序站点关联文件,并将其余流量代理给Wix。我们使用以下nginx配置进行设置: upstream wix { keepalive 100; server mgertner.wixsite.com:443; } server { listen
苹果应用程序站点关联
文件,并将其余流量代理给Wix。我们使用以下nginx配置进行设置:
upstream wix {
keepalive 100;
server mgertner.wixsite.com:443;
}
server {
listen 80;
server_name getcorkscrew.com;
location / {
proxy_http_version 1.1;
proxy_pass https://wix/corkscrew-copy;
proxy_pass_request_headers on;
}
}
server {
listen 80;
server_name www.getcorkscrew.com;
location / {
proxy_http_version 1.1;
proxy_pass https://mgertner.wixsite.com/corkscrew-copy;
proxy_pass_request_headers on;
}
}
然而,当我们访问www.getcorkscrew.com时,我们只会得到一个空白的白色页面。显然,Wix正在返回页面,head
包含一堆脚本和其他内容,但正文只包含:
<body>
<div id="SITE_CONTAINER"></div>
<div comp="wysiwyg.viewer.components.WixAds" skin="wysiwyg.viewer.skins.wixadsskins.WixAdsWebSkin" id="wixFooter"></div>
<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"c99d7f1ab0","agent":"","beacon":"bam.nr-data.net","applicationTime":9,"applicationID":"1963269,30200700","transactionName":"ZFAHNkNYXUBQVEUKXF0aNgdDT19WRRhVCkBDVBEBWVxB","queueTime":0}
</script>
</body>
window.NREUM | |(NREUM={});NREUM.info={“errorBeacon”:“bam.nr数据.net”,“licenseKey”:“c99d7f1ab0”,“代理”:“beacon”:“bam.nr数据.net”,“applicationTime”:9,“applicationID”:“196326930200700”,“transactionName”:“ZfahnnyxUKBVEUKXF0ANGDDT19WRRhVCKBDVBEBWVXB”,“排队时间”:0}
Wix似乎在某种程度上检测到了代理的使用并阻止了正常的页面内容。但是当我们检查这个时,我们发送的头与原始请求完全相同
关于Wix如何知道我们正在使用代理以及如何绕过代理的任何想法?结果表明,这与Wix呈现站点的方式有关。他们将站点的URL嵌入到他们的
index.html
中,如果从另一个URL加载该站点,则不会呈现该站点。我不认为他们是故意阻止的。在我看来,这只是渲染代码实现方式的副作用
我们通过使用nginx子过滤器将
index.html
中嵌入的URL更改为我们代理的URL,解决了这个问题。现在它工作正常。嗨。刚刚通过谷歌找到你的回复。我还添加了一个子过滤器“wixdomain.wixsite.com”“$host”代码>和子过滤器关闭一次代码>但是站点仍然没有渲染,并且是白色的。您使用了什么子过滤器?是否检查了子过滤器index.html
中的publicModel
的值?在我看来,至少您需要在过滤器源代码中包含站点名称(即wixdomain.wixsite.com/sitename
)。您是指源代码中的publicModel
json?它已经是“正确”的一个,var publicModel={“domain”:“wixsite.com”,“externalBaseUrl”:“http:\/\/localhost:8081\/compliance”,“unicodeExternalBaseUrl”:“http:\/\/localhost:8081\/compliance”
或者我们讨论的是不同的事情吗?您可以在GitHub/Pastebin上创建一个要点,其中包含您设置了代理权限的位置块的内容吗?如果可能的话,您想对照我们的配置检查一下。您可以在这里看到我们的规则:。在我看来,您的域设置错误。我们还没有测试过localhost
,只有一个真正的服务器。Wix对我们所服务的实际域一无所知。