check for ip in reverse proxy header
This commit is contained in:
parent
54be47f844
commit
b51cca5347
@ -20,8 +20,14 @@ func domainFromIP(target net.IP) string {
|
|||||||
|
|
||||||
// handle HTTP requests
|
// handle HTTP requests
|
||||||
func handler(w http.ResponseWriter, r *http.Request) {
|
func handler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// get client's ip address
|
||||||
ip, port, err := net.SplitHostPort(r.RemoteAddr)
|
ip, port, err := net.SplitHostPort(r.RemoteAddr)
|
||||||
_, _ = port, err
|
_, _ = port, err
|
||||||
|
// check if we're behind a reverse proxy
|
||||||
|
xForwardedFor := r.Header.Get("X-Forwarded-For")
|
||||||
|
if xForwardedFor != "" {
|
||||||
|
ip = xForwardedFor
|
||||||
|
}
|
||||||
parsedIP := net.ParseIP(ip)
|
parsedIP := net.ParseIP(ip)
|
||||||
// return domain for IPv6 only
|
// return domain for IPv6 only
|
||||||
if parsedIP.To4() == nil {
|
if parsedIP.To4() == nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user