Root-me won’t load through Burp proxy

I am trying to access the root-me security website through Burp in order to solve some challenges, as I did many times without any problem in the past on this specific website. In order to do so, I am proxyfying my browser traffic t Burp using FoxyProxy.

A few weeks ago, I noticed that the pages from root-me exclusively did not seem to load when running through Burp, whereas all the rest loaded correctly:
Capture from burpsuite

I tried to access root-me through Burp again today and realized it had not changed.

When turning the proxy off in my browser, I can access the website without any problem.

What really bugs me is that the behaviour is the same on both Chrome and Firefox, and persisted after a reinstallation of Burp. I am using the Community version which, as of my knowledge, does not persist user settings once exited.

Thank you very much for any help !

reverse proxy – MTLS on the cheap that works on Android clients?

Is there a way to pull off MTLS/Two-Way SSL/Client Certificates that work on unrooted v10+ Android Clients on the cheap?

I’ve done the whole private setup with OpenSSL and it works absolutely fantastic with the lone exception of 3rd-Party Android Apps that use the default network security setting of only allowing system trust stores and ignore user trust stores. I’m sure there will be a valid reason for that being the default because of security and MITM exposure?

If you can only do it with public well-known root CA’s can you do it with a cheap DV then do your own CSR and generate your own client certs?

Setting up OpenVPN service and making tunnels seems like overkill in comparison?


Whats the point in setting up an open proxy?

Decided to have a look at a list of “open” proxies. I’ve noticed that a good deal of these proxies are on residential IPs.

One of the IPs,, is owned by Charter Communications and looks to be the IP of someone’s house. It looks to have a few other random ports open, such as a VPN, telnet, and an additional HTTP port.

So, whats the point of setting one of these up on a home network? These proxies tend to be used by attackers to mask their true identities, and likley attract a lot of malicious traffic. Do they serve as honeypots for criminals? It seems to me that the only result of setting one of these up would be a knock from the police or an ISP.

reverse proxy – Multiple servers behind one public ip

I am hosting multiple servers behind one public IP. (Mostly in Proxmox VE) Currently, all the services are on separate ports.
I would like to use multiple domains to reach different services and am not sure how/ if I can do this.

I have looked at squid reverse proxy but it only works with HTTP/HTTPS

I’m not sure if a local DNS could help. Although I am planning on setting up a local PowerDNS server anyway.

Thank you in advance for any help.

Grafana behind Nginx reverse proxy ignores dashboards in provisioning

I’m setting up a docker-compose that configures grafana behind a nginx reverse proxy.

I can reach grafana though the reverse proxy, but it does not show the dashboards that I’ve put into etc/grafana/provisioning/datasources/. If I visit localhost:3000 directly, the dashboards are showing and working properly. So aside from the dashboards, everything works (including datasources).

How can it be that I get a different version/instance of grafana when I go through the reverse proxy?


protocol = http
http_port = 3000
domain = localhost
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
serve_from_sub_path = true


http {
    server {
        listen 80;
        root /usr/share/nginx/www;
        index index.html index.htm;

        location /grafana/ {
            proxy_pass http://grafana:3000/;


    container_name: reverse-proxy
    image: reverse-proxy
    build: ./reverse_proxy
      - ./reverse_proxy/nginx.conf:/etc/nginx/nginx.conf
      - grafana
      - 80:80
      - 443:443

    container_name: grafana
    image: grafana/grafana:master-ubuntu
      - ./volume_data/grafana:/var/lib/grafana
      - ./grafana:/etc/grafana/
      - 3000:3000

And the grafana file structure:


Can wifi network administrators see if you are using a proxy?

A friend of mine wants to use a Proxy on his home computer because his parents have blocked many games and social media services. My question is, if he is using a Proxy, will his parents be able to see that he is using a Proxy?

centos – G-Cloud APIs accessed from behind an NGINX proxy require that HTTP_PROXY environmental variables are set. Does NGINX need more listen directives?

Environment: NGINX, Google Cloud, node.js, centos

Google Cloud services accessed from behind an NGINX reverse proxy server require that environmental variables are set on the server. (Accessing Google Cloud APIs though a Proxy) In my case I’m accessing Google reCAPTCHA Enterprise from behind NGINX.

The example for node.js suggests which environmental variables to set in Linux.

export GRPC_TRACE=handshaker
export HTTP_PROXY=http://localhost:3128
export http_proxy=http://localhost:3128
export https_proxy=http://localhost:3128
export HTTPS_PROXY=http://localhost:3128

However in my NGINX config I only have listen directives for port 80 and 443. Does my config need any additional listen directives or setup to allow this to work? Do I need to set up anything for port 3128 or does that work by default?

In my config I include this location block at the bottom so that all requests that were not previously handled by another location go to my node.js app. But that’s for incoming requests. Do I need anything for outgoing requests to Google cloud?

location / {
    include conf.d/cache-control-30-days;
    include conf.d/content-security-policy;
    include conf.d/security-headers;
    proxy_hide_header x-powered-by;
    proxy_set_header x-forwarded-proto https;

ubuntu – Nginx reverse proxy not working

I know this is a very common problem, but I can’t seem to find the solution to it, and I’m new to Node JS and Nginx.

I’m trying to run my Node JS app on port 80 of my site at using a nginx reverse proxy, where my app is running on port 5000. I’ve searched countless forums and followed many tutorials step by step but when I run the app and go to, it just doesn’t show the app, and shows the default page when there is no index.html file (I removed the index file just in case it was creating some kind of interference).

Just in case this matters, I am hosting 2 other domains on the same server.

Other Information:

  • Server OS: Ubuntu, running VestaCP with File Manager
  • Location of the Node App: /home/admin/web/

It works fine on port 5000, and I don’t get an error when I run the application listening on port 80.

Here’s a link to the Github Repository where all the code for the app is, but I’ll also add the server.js code here:


var express = require('express');
var http = require('http');
var path = require('path');
var socketIO = require('');

var app = express();
var server = http.Server(app);
var io = socketIO(server);

app.set('port', 5000);
app.use('/static', express.static(__dirname + '/static'));

// Routing
app.get('/', function(request, response) {
  response.sendFile(path.join(__dirname, '/static/index.html'));

// Starts the server.
server.listen(5000, function() {
  console.log('Starting server on port 5000');

var players = {};

io.on('connection', function(socket) {
    socket.on('new player', function() {
        players( = {
            x: 300,
            y: 300
    socket.on('movement', function(data) {
        var player = players( || {};
        if (data.left) {
            player.x -=5;
        if (data.up) {
            player.y -= 5;
        if (data.right) {
          player.x += 5;
        if (data.down) {
          player.y += 5;
    socket.on('disconnect', function() {
            io.sockets.emit('player disconnected', "player " + + " disconnected");
            delete players(;
    socket.on("chat message", function(data) {
        console.log("message from " + data.from + ": " + data.message);
        io.sockets.emit("new message", data.from + ": " + data.message);
    socket.on("myusername", function(data) {
        players( = data;

setInterval(function() {
  io.sockets.emit('state', players);
}, 1000 / 60);

Contents of /etc/nginx/sites-available/default: (that is symbolically linked to /etc/nginx/sites-enabled/default)

server {
    listen 80;
    listen (::):80 default_server

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;

Contents of nginx.conf:

user                    www-data;
worker_processes        auto;
worker_rlimit_nofile    65535;
error_log               /var/log/nginx/error.log;
pid                     /var/run/;

# Worker config
events {
        worker_connections  1024;
        use                 epoll;
        multi_accept        on;

http {
    # Main settings
    sendfile                        on;
    tcp_nopush                      on;
    tcp_nodelay                     on;
    client_header_timeout           60s;
    client_body_timeout             60s;
    client_header_buffer_size       2k;
    client_body_buffer_size         256k;
    client_max_body_size            256m;
    large_client_header_buffers     4 8k;
    send_timeout                    60s;
    keepalive_timeout               30s;
    reset_timedout_connection       on;
    server_tokens                   off;
    server_name_in_redirect         off;
    server_names_hash_max_size      512;
    server_names_hash_bucket_size   512;

    # Log format
    log_format  main    '$remote_addr - $remote_user ($time_local) $request '
                        '"$status" $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
    log_format  bytes   '$body_bytes_sent';
    #access_log          /var/log/nginx/access.log main;
    access_log off;

    # Mime settings
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Compression
    gzip                on;
    gzip_static         on;
    gzip_vary           on;
    gzip_comp_level     6;
    gzip_min_length     1024;
    gzip_buffers        16 8k;
    gzip_types          text/plain text/css text/javascript text/js text/xml ap$
    gzip_proxied        any;
    gzip_disable        "MSIE (1-6).";

    # Proxy settings
    proxy_redirect      off;
    proxy_set_header    Host            $host;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass_header   Set-Cookie;
    proxy_buffers       32 4k;
    proxy_connect_timeout   30s;
    proxy_send_timeout  90s;
    proxy_read_timeout  90s;

    # Cloudflare
    #set_real_ip_from   2400:cb00::/32;
    #set_real_ip_from   2606:4700::/32;
    #set_real_ip_from   2803:f800::/32;
    #set_real_ip_from   2405:b500::/32;
    #set_real_ip_from   2405:8100::/32;
    #set_real_ip_from   2c0f:f248::/32;
    #set_real_ip_from   2a06:98c0::/29;
    real_ip_header     CF-Connecting-IP;

    # SSL PCI Compliance
    ssl_session_cache   shared:SSL:10m;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers        "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256$

    # Error pages
    error_page          403          /error/403.html;
    error_page          404          /error/404.html;
    error_page          502 503 504  /error/50x.html;
    # Cache settings
    proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m$
    proxy_cache_key "$host$request_uri $cookie_user";
    proxy_temp_path  /var/cache/nginx/temp;
    proxy_ignore_headers Expires Cache-Control;
    proxy_cache_use_stale error timeout invalid_header http_502;
    proxy_cache_valid any 1d;

    # Cache bypass
    map $http_cookie $no_cache {
        default 0;
        ~SESS 1;
        ~wordpress_logged_in 1;

    # File cache settings
    open_file_cache          max=10000 inactive=30s;
    open_file_cache_valid    60s;
    open_file_cache_min_uses 2;
    open_file_cache_errors   off;

    #include sites-enabled configuration files
    include             /etc/nginx/sites-enabled/*;

    # Wildcard include
    include             /etc/nginx/conf.d/*.conf;

I have also tried moving the server block that is in /etc/nginx/sites-enabled/default to /etc/nginx/conf.d/ it still didn’t work.

I also tried setcap, although I know it’s not as secure, but it still didn’t change anything.

Am I doing something wrong in the configuration, or is there something I forgot to do? Please let me know of anything that could be causing the problem, it would really help. Thank you!

NEW Nginx Proxy in cPanel version 96

I know the difference between LiteSpeed and Nginx/Proxy in front of Apache. Still, due to the recent price increase from cPanel/WHMCS, I won… | Read the rest of

ssl – NGINX Reverse proxy not loading all images home page

I create Nginx reverse proxy and work fine but some images did not appear on the home page this is a configuration

         server {
listen 80 default_server;
listen [::]:80 default_server;

 location / {

            proxy_set_header X-Scheme $scheme;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_redirect    off;
            add_header Pragma "no-cache";
            add_header Cache-Control "no-cache";

proxy_set_header Accept-Encoding "";

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_connect_timeout 300s;
proxy_read_timeout 300;

any ideas ?