diff --git a/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/README.md b/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/README.md new file mode 100644 index 0000000..c57960b --- /dev/null +++ b/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/README.md @@ -0,0 +1,17 @@ +# Nginx proxy configuration for pingvinus.ru.bro.ygg + +Current implementation drops all JS and forward links to following locations: + +* `pingvinus.ru` > `pingvinus.ru.bro.ygg` + +## Install + +* `ln -s /etc/yggbro/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/server.conf /etc/nginx/sites-enabled/yggbro.pingvinus.ru.pingvinus.ru.bro.ygg.conf` +* `nginx -t` +* `service nginx reload` + +## Uninstall + +* `rm /etc/nginx/sites-enabled/yggbro.pingvinus.ru.pingvinus.ru.bro.ygg.conf` +* `nginx -t` +* `service nginx reload` \ No newline at end of file diff --git a/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/server.conf b/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/server.conf new file mode 100644 index 0000000..41d8470 --- /dev/null +++ b/nginx/pingvinus.ru/pingvinus.ru.bro.ygg/server.conf @@ -0,0 +1,38 @@ +server { + + # HTTP/IPv6 only + listen [::]:80; + + # Yggdrasil only + allow 0200::/7; + deny all; + + server_name pingvinus.ru.bro.ygg; + + location / { + + # Forward to server + proxy_pass https://pingvinus.ru/; + + # Tell to server, that's proxy request + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + + # Replace links + sub_filter_once off; + sub_filter_types *; + + sub_filter 'http://pingvinus.ru' 'http://pingvinus.ru.bro.ygg'; + sub_filter 'https://pingvinus.ru' 'http://pingvinus.ru.bro.ygg'; + sub_filter '' ' -->'; + sub_filter 'href="/support/"' 'href="https://pingvinus.ru/p/support"'; + sub_filter 'href="/' 'href="http://pingvinus.ru.bro.ygg/'; + sub_filter 'src="/' 'src="http://pingvinus.ru.bro.ygg/'; + sub_filter 'data-src="/' 'src="http://pingvinus.ru.bro.ygg/'; + sub_filter "url('/" "url('http://pingvinus.ru.bro.ygg/"; + + # Feedback link to project repository + sub_filter '' 'YGGbro'; + } +} diff --git a/nginx/pingvinus.ru/yggbro/pingvinus.ru/README.md b/nginx/pingvinus.ru/yggbro/pingvinus.ru/README.md new file mode 100644 index 0000000..629f537 --- /dev/null +++ b/nginx/pingvinus.ru/yggbro/pingvinus.ru/README.md @@ -0,0 +1,39 @@ +# Nginx proxy configuration for /yggbro/pingvinus.ru subfolder location + +Current implementation drops all JS and forward links to following locations: + +* `pingvinus.ru` > `/yggbro/pingvinus.ru` + +## Install + +This is subfolder configuration, use `server.conf` preset only when `default_server` not defined in your system: + +* `ln -s /etc/yggbro/nginx/pingvinus.ru/yggbro/pingvinus.ru/server.conf /etc/nginx/sites-enabled/yggbro.pingvinus.ru.yggbro.pingvinus.ru.conf` + +Alternatively, add following line to existing `default_server`: + +``` +include /etc/yggbro/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf; +``` + +Test configuration and apply changes + +* `nginx -t` +* `service nginx reload` + +## Uninstall + +Remove symlink if exists: + +* `rm /etc/nginx/sites-enabled/yggbro.pingvinus.ru.yggbro.pingvinus.ru.conf` + +Remove following line from existing `default_server`: + +``` +include /etc/yggbro/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf; +``` + +Test configuration and apply changes + +* `nginx -t` +* `service nginx reload` \ No newline at end of file diff --git a/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf b/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf new file mode 100644 index 0000000..e2bbc7b --- /dev/null +++ b/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf @@ -0,0 +1,26 @@ +location /yggbro/pingvinus.ru { + + # Forward to server + proxy_pass https://pingvinus.ru/; + + # Tell to server, that's proxy request + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Real-IP $remote_addr; + + # Replace links + sub_filter_once off; + sub_filter_types *; + + sub_filter 'http://pingvinus.ru' 'http://[$server_addr]/yggbro/pingvinus.ru'; + sub_filter 'https://pingvinus.ru' 'http://[$server_addr]/yggbro/pingvinus.ru'; + sub_filter '' ' -->'; + sub_filter 'href="/support/"' 'href="https://pingvinus.ru/p/support"'; + sub_filter 'href="/' 'href="http://[$server_addr]/yggbro/pingvinus.ru/'; + sub_filter 'src="/' 'src="http://[$server_addr]/yggbro/pingvinus.ru/'; + sub_filter 'data-src="/' 'src="http://[$server_addr]/yggbro/pingvinus.ru/'; + sub_filter "url('/" "url('http://[$server_addr]/yggbro/pingvinus.ru/"; + + # Feedback link to project repository + sub_filter '' 'YGGbro'; +} \ No newline at end of file diff --git a/nginx/pingvinus.ru/yggbro/pingvinus.ru/server.conf b/nginx/pingvinus.ru/yggbro/pingvinus.ru/server.conf new file mode 100644 index 0000000..c5983da --- /dev/null +++ b/nginx/pingvinus.ru/yggbro/pingvinus.ru/server.conf @@ -0,0 +1,15 @@ +server { + + # HTTP/IPv6 connections only + listen [::]:80 default_server; # make sure default_server not exists or throw an exception + + # Yggdrasil connections only + allow 0200::/7; + deny all; + + # Listen defaults + server_name _; + + # Include available locations + include /etc/yggbro/nginx/pingvinus.ru/yggbro/pingvinus.ru/location.conf; +}