Skip to content

Instantly share code, notes, and snippets.

@ayunami2000
Last active July 5, 2022 04:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ayunami2000/11ca8b35420dbed7a8d03d5555ab430f to your computer and use it in GitHub Desktop.
Save ayunami2000/11ca8b35420dbed7a8d03d5555ab430f to your computer and use it in GitHub Desktop.
# ALSO ADD YOUR SERVER'S PUBLIC IP WHERE IT SAYS "PUBLIC_IP_HERE" (remove the "#" too) TO PREVENT LOOPBACK!!
# by default, denies all ipv6 connections, because I am lazy
me.example.com {
handle /proxy/* {
@self remote_ip 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ::/0 # PUBLIC_IP_HERE
respond @self "Not today..." {
close
}
@valid path_regexp proxy ^/proxy/(https?|wss?)[:;]/+([a-zA-Z0-9.-]+)(?:[:;](\d{1,5}))?(.*)$
handle @valid {
rewrite * {re.proxy.4}
@hasport expression {re.proxy.3} != ""
@secure expression {re.proxy.1} == "wss" || {re.proxy.1} == "https"
handle @hasport {
vars resuri {re.proxy.2}:{re.proxy.3}
reverse_proxy @secure {vars.resuri} {
header_up -X-Forwarded-For
header_up -X-Forwarded-Proto
header_up -X-Forwarded-Host
header_up Host {upstream_hostport}
transport http {
tls
tls_insecure_skip_verify
}
}
reverse_proxy {vars.resuri} {
header_up -X-Forwarded-For
header_up -X-Forwarded-Proto
header_up -X-Forwarded-Host
header_up Host {upstream_hostport}
}
}
handle @secure {
vars resuri {re.proxy.2}:443
reverse_proxy {vars.resuri} {
header_up -X-Forwarded-For
header_up -X-Forwarded-Proto
header_up -X-Forwarded-Host
header_up Host {upstream_hostport}
transport http {
tls
tls_insecure_skip_verify
}
}
}
vars resuri {re.proxy.2}:80
reverse_proxy {vars.resuri} {
header_up -X-Forwarded-For
header_up -X-Forwarded-Proto
header_up -X-Forwarded-Host
header_up Host {upstream_hostport}
}
}
respond "Invalid request."
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment