From 1306dbefb4dd40e88336afdf86b7438e6b487ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Fri, 2 Dec 2022 13:10:31 +0100 Subject: [PATCH 1/2] Switch ports for io/fr --- etc/network/if-up.d/pageboard | 15 --------------- etc/nftables.conf | 29 +++++++++++++++++++++++++++++ nginx/available/pageboard.fr.conf | 6 +++--- nginx/available/proxy.conf | 6 +++--- 4 files changed, 35 insertions(+), 21 deletions(-) delete mode 100644 etc/network/if-up.d/pageboard create mode 100755 etc/nftables.conf diff --git a/etc/network/if-up.d/pageboard b/etc/network/if-up.d/pageboard deleted file mode 100644 index 795602c..0000000 --- a/etc/network/if-up.d/pageboard +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -set -e - -if [ "inet" != "$ADDRFAM" ]; then exit 0; fi -if [ "eth0" != "$IFACE" ]; then exit 0; fi - -iptables -t nat -p tcp -A PREROUTING --destination pageboard.fr --dport 80 -j DNAT --to-destination :17080 -iptables -t nat -p tcp -A PREROUTING --destination pageboard.fr --dport 443 -j DNAT --to-destination :17443 - -iptables -t nat -p tcp -A OUTPUT --destination pageboard.fr --dport 80 -j DNAT --to-destination :17080 -iptables -t nat -p tcp -A OUTPUT --destination pageboard.fr --dport 443 -j DNAT --to-destination :17443 - -iptables -A INPUT -p tcp --dport 17080 -j ACCEPT -iptables -A INPUT -p tcp --dport 17443 -j ACCEPT - diff --git a/etc/nftables.conf b/etc/nftables.conf new file mode 100755 index 0000000..6da9cb9 --- /dev/null +++ b/etc/nftables.conf @@ -0,0 +1,29 @@ +#!/usr/sbin/nft -f + +flush ruleset + +table inet filter { + chain pageboard-filter { + type filter hook input priority filter + iif "lo" accept + ip daddr 163.172.195.127 tcp dport { 80, 443 } accept comment "pageboard.io" + ip daddr 163.172.206.106 tcp dport { 80, 443 } accept comment "pageboard.fr" + } +} +table inet nat { + chain pageboard-prerouting { + type nat hook prerouting priority dstnat + ip daddr 163.172.195.127 tcp dport 443 dnat to 163.172.195.127:17443 comment "redirect https to pageboard.io user port" + ip daddr 163.172.195.127 tcp dport 80 dnat to 163.172.195.127:17080 comment "redirect http to pageboard.io user port" + ip daddr 163.172.206.106 tcp dport 443 dnat to 163.172.206.106:17444 comment "redirect https to pageboard.fr user port" + ip daddr 163.172.206.106 tcp dport 80 dnat to 163.172.206.106:17081 comment "redirect http to pageboard.fr user port" + } + chain pageboard-output { + type nat hook output priority filter + ip daddr 163.172.195.127 tcp dport 443 dnat to 163.172.195.127:17443 comment "redirect https to pageboard.io user port" + ip daddr 163.172.195.127 tcp dport 80 dnat to 163.172.195.127:17080 comment "redirect http to pageboard.io user port" + ip daddr 163.172.206.106 tcp dport 443 dnat to 163.172.206.106:17444 comment "redirect https to pageboard.fr user port" + ip daddr 163.172.206.106 tcp dport 80 dnat to 163.172.206.106:17081 comment "redirect http to pageboard.fr user port" + } +} + diff --git a/nginx/available/pageboard.fr.conf b/nginx/available/pageboard.fr.conf index d1040f2..6694dd0 100644 --- a/nginx/available/pageboard.fr.conf +++ b/nginx/available/pageboard.fr.conf @@ -1,11 +1,11 @@ server { - listen pageboard.fr:17443 ssl http2 default_server; + listen pageboard.fr:17444 ssl http2 default_server; server_name _; ssl_certificate_key ssl/cert/pageboard.fr/privkey.pem; ssl_certificate ssl/cert/pageboard.fr/fullchain.pem; ssl_certificate_by_lua_block { - auto_ssl:ssl_certificate({ port = 17443 }) + auto_ssl:ssl_certificate({ port = 17444 }) } include server.d/statics.conf; include server.d/ssl.conf; @@ -13,7 +13,7 @@ server { } server { - listen pageboard.fr:17080 default_server; + listen pageboard.fr:17081 default_server; server_name _; include server.d/statics.conf; diff --git a/nginx/available/proxy.conf b/nginx/available/proxy.conf index 7662e6a..01fc7d7 100644 --- a/nginx/available/proxy.conf +++ b/nginx/available/proxy.conf @@ -1,11 +1,11 @@ server { - listen pageboard.io:17444 ssl http2 default_server; + listen pageboard.io:17443 ssl http2 default_server; server_name _; ssl_certificate_key ssl/cert/pageboard.io/privkey.pem; ssl_certificate ssl/cert/pageboard.io/fullchain.pem; ssl_certificate_by_lua_block { - auto_ssl:ssl_certificate({ port = 17444 }) + auto_ssl:ssl_certificate({ port = 17443 }) } include server.d/statics.conf; include server.d/ssl.conf; @@ -13,7 +13,7 @@ server { } server { - listen pageboard.io:17081 default_server; + listen pageboard.io:17080 default_server; server_name _; include server.d/statics.conf; From 7ccefd7c0f09a24b93fa56e77d986d3fed84c070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= Date: Mon, 12 Dec 2022 00:45:28 +0100 Subject: [PATCH 2/2] Update upcache --- Makefile | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ab86979..0ac479a 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ lualnclean: rm -f lua/upcache* luarocks: - luarocks --tree=rocks install upcache 2.2.1 + luarocks --tree=rocks install upcache 2.6.0 luarocks --tree=rocks install lua-toml 2.0 luarocks --tree=rocks install lua-resty-http 0.15 luarocks --tree=rocks install lua-resty-auto-ssl 0.13.1 diff --git a/package.json b/package.json index 018c9aa..36e9828 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "homepage": "https://github.com/pageboard/proxy#readme", "dependencies": { "postinstall": "^0.7.3", - "upcache": "^2.4.1" + "upcache": "^2.6.0" }, "postinstall": { "upcache/nginx/server.d/upcache-redis.conf": "link nginx/server.d/",