aboutsummaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorKristian Lyngstol <kristian@bohemians.org>2016-04-12 18:01:32 +0200
committerKristian Lyngstol <kristian@bohemians.org>2016-04-12 18:01:32 +0200
commit09ea945c3908fd42e90eb64c194d9af11d174206 (patch)
tree8bcf0f98113ea4a92effa1c39344730c7e6f50b0 /misc
parentc3ebdbda43c23ade1e49dfd9f546fba1d15f9941 (diff)
Actual initial import
Fetched from tgmanage.
Diffstat (limited to 'misc')
-rw-r--r--misc/apache2.conf56
-rw-r--r--misc/varnish.vcl55
2 files changed, 111 insertions, 0 deletions
diff --git a/misc/apache2.conf b/misc/apache2.conf
new file mode 100644
index 0000000..08471e0
--- /dev/null
+++ b/misc/apache2.conf
@@ -0,0 +1,56 @@
+<VirtualHost *:8080>
+ ServerAdmin drift@gathering.org
+ ServerName nms.tg16.gathering.org
+ ServerAlias nms.tg16.gathering.org
+
+ DocumentRoot /srv/tgmanage/web/nms.gathering.org
+ ScriptAlias /api/write/ /srv/tgmanage/web/nms.gathering.org/api/write/
+ ScriptAlias /api/read/ /srv/tgmanage/web/nms.gathering.org/api/read/
+ ScriptAlias /api/public/ /srv/tgmanage/web/nms.gathering.org/api/public/
+ <Directory "/srv/tgmanage/web/nms.gathering.org/api/write/">
+ AllowOverride None
+ Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+ <RequireAny>
+ AuthUserFile /srv/tgmanage/web/htpasswd-write
+ AuthName "Tech:Server Secret Volcano Lair"
+ AuthType Basic
+ Require valid-user
+ </RequireAny>
+ </Directory>
+ <Directory "/srv/tgmanage/web/nms.gathering.org/api/read/">
+ AllowOverride None
+ Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
+ <RequireAny>
+ AuthUserFile /srv/tgmanage/web/htpasswd-read
+ AuthName "The Gathering Network Management System"
+ AuthType Basic
+ Require valid-user
+ </RequireAny>
+ </Directory>
+ <Directory "/srv/tgmanage/web/nms.gathering.org/api/public/">
+ AllowOverride None
+ Options +ExecCGI -MultiViews +Indexes +SymLinksIfOwnerMatch
+ Require all granted
+ </Directory>
+ <Directory "/srv/tgmanage/web/nms.gathering.org">
+ AllowOverride None
+ Options Indexes FollowSymLinks MultiViews
+ AddDefaultCharset UTF-8
+ <RequireAny>
+ AuthUserFile /srv/tgmanage/web/htpasswd-read
+ AuthName "The Gathering Network Management System"
+ AuthType Basic
+ Require valid-user
+ </RequireAny>
+ </Directory>
+
+ ErrorLog /var/log/apache2/error-nms.tg16.gathering.org.log
+
+ # Possible values include: debug, info, notice, warn, error, crit,
+ # alert, emerg.
+ LogLevel warn
+
+ CustomLog /var/log/apache2/access-nms.tg16.gathering.org.log combined
+ ServerSignature On
+
+</VirtualHost>
diff --git a/misc/varnish.vcl b/misc/varnish.vcl
new file mode 100644
index 0000000..754ecbc
--- /dev/null
+++ b/misc/varnish.vcl
@@ -0,0 +1,55 @@
+# vim: ts=8:expandtab:sw=4:softtabstop=4
+
+vcl 4.0;
+
+backend default {
+ .host = "127.0.0.1";
+ .port = "8080";
+}
+
+sub vcl_recv {
+ if (req.url ~ "^/where" || req.url ~ "^/location") {
+ set req.url = "/api/public/location";
+ }
+ if (req.method != "GET" &&
+ req.method != "HEAD" &&
+ req.method != "PUT" &&
+ req.method != "POST" &&
+ req.method != "TRACE" &&
+ req.method != "OPTIONS" &&
+ req.method != "DELETE") {
+ # Vi hater alt som er gøy.
+ return (synth(418,"LOLOLOL"));
+ }
+
+ if (req.method != "GET" && req.method != "HEAD") {
+ /* We only deal with GET and HEAD by default */
+ return (pass);
+ }
+
+ # Brukes ikke. Cookies er for nubs.
+ unset req.http.Cookie;
+
+ # Tvinges gjennom for å cache med authorization-skrot.
+ return (hash);
+}
+
+
+# Rosa magi
+sub vcl_hash {
+ # Wheee. Legg til authorization-headeren i hashen.
+ hash_data(req.http.authorization);
+}
+
+# Mauve magi. Hva nå enn det er.
+# Dette er WIP - Skal flyttes til backend
+sub vcl_backend_response {
+ set beresp.http.x-url = bereq.url;
+ if (beresp.http.x-ban) {
+ ban("obj.http.x-url ~ " + beresp.http.x-ban);
+ }
+ if (beresp.status != 200) {
+ set beresp.uncacheable = false;
+ set beresp.ttl = 5s;
+ }
+}