Mark Bergsma has uploaded a new change for review.
https://gerrit.wikimedia.org/r/65306
Change subject: Redirect mobile clients to the mobile sites
......................................................................
Redirect mobile clients to the mobile sites
Change-Id: I85ceeff74b510172ff64a3dc087b7ea64dd0f117
---
M templates/varnish/text-frontend.inc.vcl.erb
1 file changed, 28 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/06/65306/1
diff --git a/templates/varnish/text-frontend.inc.vcl.erb
b/templates/varnish/text-frontend.inc.vcl.erb
index dae4abb..4d66cd5 100644
--- a/templates/varnish/text-frontend.inc.vcl.erb
+++ b/templates/varnish/text-frontend.inc.vcl.erb
@@ -1,5 +1,18 @@
# Varnish VCL include file for text frontends
+sub mobile_redirect {
+ if ((req.http.User-Agent ~ "mobi" || req.http.Accept ~ "vnd.wap.wml")
+ && req.http.User-Agent !~
"(iPad|Android.3|(?i)tablet|(?i)(?!google)bot|PlayBook|Wii)"
+ && req.http.Cookie !~
"(stopMobileRedirect=true|mf_useformat=desktop)"
+ && req.url ~ "^/wiki/") {
+ set req.http.MobileHost = regsub(req.http.host,
"^(?:www\.(?=mediawiki))?((?:species|meta|incubator|outreach|strategy|wikimania2012)\.(?=wikimedia)|\w+\.(?!wikimedia|mediawiki)|(?=mediawiki))(wikimedia|wikipedia|wiktionary|wikinews|wikisource|wikiquote|wikibooks|wikiversity|wikivoyage|mediawiki)\.",
"\1m.\2.");
+ if (req.http.Host != req.http.MobileHost) {
+ error 666 req.http.X-Forwarded-Proto + "://" +
req.http.MobileHost + req.url;
+ }
+ unset req.http.MobileHost;
+ }
+}
+
sub vcl_recv {
/* Allow purging */
call vcl_recv_purge;
@@ -7,4 +20,19 @@
/* make absolute URIs relative as to not have to rewrite them too;
* do this after vcl_recv_purge, as it operates on a full URI */
call rewrite_proxy_urls;
+
+ if (!req.http.X-Forwarded-Proto) {
+ set req.http.X-Forwarded-Proto = "http";
+ }
+
+ call mobile_redirect;
+}
+
+sub vcl_error {
+ /* Support mobile redirects */
+ if (obj.status == 666) {
+ set obj.http.Location = obj.response;
+ set obj.status = 302;
+ return(deliver);
+ }
}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/65306
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I85ceeff74b510172ff64a3dc087b7ea64dd0f117
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Mark Bergsma <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits