[wgo2-web/oscp] Restore redirects and GeoIP blocks



commit ac4a46c7f525aac6fcd26d4da181b1528318a27b
Author: Bartłomiej Piotrowski <bpiotrowski gnome org>
Date:   Wed Mar 24 10:39:54 2021 +0100

    Restore redirects and GeoIP blocks

 Dockerfile |  2 +-
 nginx.conf | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 55 insertions(+), 2 deletions(-)
---
diff --git a/Dockerfile b/Dockerfile
index 8e67a42..945dc94 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
 FROM wordpress:fpm
 
-RUN apt-get update && apt-get install -y nginx-light && \
+RUN apt-get update && apt-get install -y nginx-light libnginx-mod-http-geoip geoip-database && \
     ln -sf /dev/stdout /var/log/nginx/access.log && \
     ln -sf /dev/stderr /var/log/nginx/error.log
 ADD nginx.conf /etc/nginx/nginx.conf
diff --git a/nginx.conf b/nginx.conf
index ff61494..228c026 100644
--- a/nginx.conf
+++ b/nginx.conf
@@ -29,7 +29,18 @@ http {
     upstream php-fpm {
         server localhost:9000;
     }
-    
+
+    geoip_country /usr/share/GeoIP/GeoIP.dat;
+    geoip_proxy 10.0.0.0/8;
+    map $geoip_country_code $allowed_country {
+       default yes;
+        IR no;
+        KP no;
+        SD no;
+        CU no;
+        SY no;
+    }
+
     map $uri $blogname {
          ~^(?P<blogpath>/[^/]+/)files/(.*) $blogpath;
     }
@@ -62,6 +73,48 @@ http {
         index index.php;
         
         client_max_body_size 100M;
+
+        location /donate/ {
+           if ($allowed_country = no) {
+                return 444;
+            }
+           try_files $uri $uri/ /index.php?$args;
+        }
+
+        rewrite ^/foundation/charter.html https://wiki.gnome.org/Foundation/Charter permanent;
+        rewrite ^/foundation/membership/members.php /foundation/membership permanent;
+        rewrite ^/vote https://vote.gnome.org permanent;
+        rewrite ^/foundation/membership/apply 
https://gitlab.gnome.org/Teams/MembershipCommittee/issues/new?issuable_template=membership-application 
permanent;
+
+        rewrite ^/press/releases/ /press/ permanent;
+        rewrite ^/community/ /get-involved/ permanent;
+        rewrite ^/tour/ / permanent;
+        rewrite ^/resources/ / permanent;
+        rewrite ^/softwaremap/ / permanent;
+        rewrite ^/i18n/ http://wiki.gnome.org/TranslationProject permanent;
+        rewrite ^/support/ /support-gnome/ permanent;
+        rewrite ^/Friends/ /friends permanent;
+        rewrite ^/applications /gnome-3 permanent;
+        rewrite ^/friends/other-ways-to-donate /support-gnome/donate permanent;
+        rewrite ^/teams/ /get-involved permanent;
+        rewrite ^/friends/amazon /support-gnome permanent;
+
+        rewrite ^/css/ https://static.gnome.org/css/ permanent;
+        rewrite ^/img/ https://static.gnome.org/img/ permanent;
+        rewrite ^/learn/users_guide http://library.gnome.org/users/ permanent;
+        rewrite ^/gnome-office https://wiki.gnome.org/GnomeOffice permanent;
+
+        rewrite ^/start/stable https://help.gnome.org/misc/release-notes/stable/ permanent;
+        rewrite ^/start/unstable/schedule.ics https://static.gnome.org/calendars/schedule-unstable.ics 
permanent;
+        rewrite ^/start/unstable https://wiki.gnome.org/Forty permanent;
+        rewrite ^/start/([0-9]+\.[0-9]*[02468]) https://help.gnome.org/misc/release-notes/$1 permanent;
+        rewrite ^/start/([0-9]+\.[0-9]*[13579]) /start/unstable permanent;
+
+        rewrite ^/opw https://outreachy.org permanent;
+        rewrite ^/outreachy https://outreachy.org permanent;
+        rewrite ^/projects https://projects.gnome.org permanent;
+
+        rewrite ^/~(.+)  https://people.gnome.org/~$1 permanent;
     
         location = /favicon.ico {
             log_not_found off;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]