It is possible to hide passenger headers, but they require a specific configuration. Something like this should work:
The outside world has encountered a part:
upstream x {
server your-server:8040;
}
server {
server_name your-domain;
location / {
proxy_hide_header X-Powered-By;
proxy_hide_header X-Runtime;
proxy_pass http://x;
}
}
Passenger powered website:
server {
server_name local-site;
listen 8040 default_server;
location / {
passenger_enabled on;
}
}
local-site nginx your-domain, , , .