fix jstor
[via-proxy] / p.vbz.ffzg.hr.conf
index 10cd454..bf39c1b 100644 (file)
@@ -5,6 +5,7 @@
        Include /srv/via-proxy/ssl.conf
        ServerName muse.jhu.edu.p.vbz.ffzg.hr
        SSLProxyEngine on
+       ProxyAddHeaders Off
        ProxyPass / https://muse.jhu.edu/
        ProxyPassReverse / https://muse.jhu.edu/
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
@@ -341,6 +342,47 @@ FilterChain NEWPATHS2
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
        Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
+       Header edit* Location "http://emeraldgrouppublishing.com/" "https://emeraldgrouppublishing.com.p.vbz.ffzg.hr/"
+
+# they have hard-coded absolute links
+RequestHeader unset Accept-Encoding
+Substitute "s|https://www.emeraldinsight.com/|https://www.emeraldinsight.com.p.vbz.ffzg.hr/|n"
+Substitute "s|http://www.emeraldgrouppublishing.com/|https://www.emeraldgrouppublishing.com.p.vbz.ffzg.hr/|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
+
+       CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
+</VirtualHost>
+<VirtualHost *:443>
+       Include /srv/via-proxy/ssl.conf
+
+       ServerName www.emeraldgrouppublishing.com.p.vbz.ffzg.hr
+       ServerAlias emeraldgrouppublishing.com.p.vbz.ffzg.hr
+
+       # FIXME target server for www.emeraldgrouppublishing.com doesn't have that in SSL cert
+       #SSLProxyEngine on
+       ProxyAddHeaders Off
+       ProxyPass        / http://www.emeraldgrouppublishing.com/
+       ProxyPassReverse / http://www.emeraldgrouppublishing.com/
+
+       Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
+       Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
+
+# they have hard-coded absolute links
+RequestHeader unset Accept-Encoding
+Substitute "s|http://www.emeraldgrouppublishing.com/|https://www.emeraldgrouppublishing.com.p.vbz.ffzg.hr/|n"
+Substitute "s|http://www.emeraldinsight.com/|https://www.emeraldinsight.com.p.vbz.ffzg.hr/|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
+
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 </VirtualHost>
 
@@ -392,21 +434,31 @@ FilterChain NEWPATHS2
 
        ServerName www.jstor.org.p.vbz.ffzg.hr
 
-       #SSLProxyEngine on
-       # download pdf doesn't work if we use https://www.jstor.org !
+       SSLProxyEngine on
        ProxyAddHeaders Off
-       ProxyPass        / http://www.jstor.org/
-       ProxyPassReverse / http://www.jstor.org/
+       ProxyPass        / https://www.jstor.org/
+       ProxyPassReverse / https://www.jstor.org/
 
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
-       Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
+#      Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
-#      Header edit* Referer "http://(.*)(?i:\.p\.vbz\.ffzg\.hr)" "https://$1$2"
+       #Header edit* Referer "http://(.*)(?i:\.p\.vbz\.ffzg\.hr)" "https://$1$2"
+       RequestHeader edit* Referer "//(.*)(?i:\.p\.vbz\.ffzg\.hr)" "//$1$2"
 
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 
-       #Header add Access-Control-Allow-Origin ''
-       #Header add Access-Control-Allow-Headers "X-Requested-With, Content-Type"
+#      Header set Access-Control-Allow-Origin "*"
+#      Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
+
+       # jstor expects
+       # X-Requested-With: XMLHttpRequest
+       # https://www.jstor.org/ui_log/info
+       # https://www.jstor.org/access_details/?_=1535108073005
+       # https://www.jstor.org/workspace-service/get-dois?_=1535108073006
+       # https://www.jstor.org/tc/check/10.2307/40323659?_=1535108073007
+       # https://www.jstor.org/tc/accept?origin=%2Ftc%2Fcheck%2F10.2307%2F40323659%3F_%3D1535108073007
+       # https://www.jstor.org/ui_log/counter
+       #
 
        #Header always set Access-Control-Allow-Origin "*"
        #Header always set Access-Control-Max-Age "1000"
@@ -417,16 +469,16 @@ FilterChain NEWPATHS2
 #      SetEnvIf X-Requested-With (.*) saved_x_requested_with=$1
 #      RequestHeader set X-Requested-With "%{saved_x_requested_with}e"
 
-       #ForensicLog /var/log/apache2/forensic.log
+       #ForensicLog /var/log/apache2/forensic-jstor.log
 
-#RequestHeader unset Accept-Encoding
-#Substitute "s|http://www.jsor.org/|http://www.jstor.org.p.vbz.ffzg.hr/|n"
-#FilterDeclare NEWPATHS2
-#FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+RequestHeader unset Accept-Encoding
+Substitute "s|//www.jstor.org/|//www.jstor.org.p.vbz.ffzg.hr/|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
 #FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
-#FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
-#FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
-#FilterChain NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
 
 </VirtualHost>
 
@@ -443,10 +495,10 @@ FilterChain NEWPATHS2
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
        Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
-       Header edit* Location "https://([^/]*.nature.com)/" "https://$1.p.vbz.ffzg.hr/"
+       Header edit* Location "https?://([^/]*.nature.com)/" "https://$1.p.vbz.ffzg.hr/"
 
 RequestHeader unset Accept-Encoding
-Substitute "s|http://www.nature.com/|https://www.nature.com.p.vbz.ffzg.hr/|n"
+Substitute "s|https://www.nature.com/|https://www.nature.com.p.vbz.ffzg.hr/|n"
 FilterDeclare NEWPATHS2
 FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
 FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
@@ -495,14 +547,55 @@ FilterChain NEWPATHS2
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
        Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
+RequestHeader unset Accept-Encoding
+Substitute "s|https://www.palgrave.com|https://www.palgrave.com.p.vbz.ffzg.hr|n"
+Substitute "s|http://www.palgrave.com|https://www.palgrave.com.p.vbz.ffzg.hr|n"
+Substitute "s|http://link.springer.com|https://link.springer.com.p.vbz.ffzg.hr|n"
+Substitute "s|http://www.springer.com|https://www.springer.com.p.vbz.ffzg.hr|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
+
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 </VirtualHost>
 
+<VirtualHost *:443>
+       Include /srv/via-proxy/ssl.conf
+
+       ServerName www.springer.com.p.vbz.ffzg.hr
+
+       SSLProxyEngine on
+       ProxyAddHeaders Off
+       ProxyPass        / https://www.springer.com/
+       ProxyPassReverse / https://www.springer.com/
+
+       Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
+       Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
+
+RequestHeader unset Accept-Encoding
+Substitute "s|http://link.springer.com|https://link.springer.com.p.vbz.ffzg.hr|n"
+Substitute "s|http://www.springer.com|https://www.springer.com.p.vbz.ffzg.hr|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
+
+       CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
+</VirtualHost>
 <VirtualHost *:443>
        Include /srv/via-proxy/ssl.conf
 
        ServerName link.springer.com.p.vbz.ffzg.hr
 
+       # download links to pdf have %2F instead of / in them
+       AllowEncodedSlashes On
+       # this might need nocanon in ProxyPass too!
+
        SSLProxyEngine on
        ProxyAddHeaders Off
        ProxyPass        / https://link.springer.com/
@@ -511,6 +604,16 @@ FilterChain NEWPATHS2
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
        Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
+RequestHeader unset Accept-Encoding
+Substitute "s|http://link.springer.com|https://link.springer.com.p.vbz.ffzg.hr|n"
+Substitute "s|http://www.springer.com|https://www.springer.com.p.vbz.ffzg.hr|n"
+FilterDeclare NEWPATHS2
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+FilterProvider NEWPATHS2 SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+FilterChain NEWPATHS2
+
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 </VirtualHost>
 
@@ -560,6 +663,15 @@ FilterChain NEWPATHS2
        Header edit* Set-Cookie "(.*)(?i:; *domain=)([^;]+)(.*)" "$1 ; domain=$2.p.vbz.ffzg.hr $3"
        Header edit* Set-Cookie "(.*)(?i:; *secure)" "$1"
 
+       RequestHeader unset Accept-Encoding
+       Substitute "s|https://www.scopus.com|https://www.scopus.com.p.vbz.ffzg.hr|"
+       FilterDeclare NEWPATHS
+       FilterProvider NEWPATHS SUBSTITUTE "%{Content_Type} =~ m|^text/html|"
+       FilterProvider NEWPATHS SUBSTITUTE "%{Content_Type} =~ m|^text/css|"
+       FilterProvider NEWPATHS SUBSTITUTE "%{Content_Type} =~ m|^text/javascript|"
+       FilterProvider NEWPATHS SUBSTITUTE "%{Content_Type} =~ m|^application/javascript|"
+       FilterChain NEWPATHS
+
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 </VirtualHost>
 
@@ -693,6 +805,17 @@ NameVirtualHost *:443
        ServerAlias *.p.vbz.ffzg.hr
        CustomLog /var/log/apache2/access-p.vbz.ffzg.hr.log vhost_combined
 
+       ProxyAddHeaders Off
+
+       #ForensicLog /var/log/apache2/forensic-p.vbz.ffzg.hr.log
+
+       ProxyPass        /mjesec/ http://mjesec.ffzg.hr/
+       ProxyPassReverse /mjesec/ http://mjesec.ffzg.hr/
+
+       RequestHeader edit* Referer "//(.*)(?i:\.p\.vbz\.ffzg\.hr)" "//$1$2"
+
+       ProxyPass        /via/ http://via.rot13.org/
+       ProxyPassReverse /via/ http://via.rot13.org/
 </VirtualHost>
 
 <VirtualHost *:80>