const { createProxyMiddleware } = require('http-proxy-middleware'); module.exports = function(app) { app.use( '/api', createProxyMiddleware({ target: process.env.BACKEND_URL || 'http://backend:7510', changeOrigin: true, logLevel: 'debug', // Forward the real IP address onProxyReq: (proxyReq, req, res) => { // Get the real client IP const clientIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress || req.socket.remoteAddress || req.connection.socket.remoteAddress; // Set the forwarded headers proxyReq.setHeader('X-Forwarded-For', clientIp); proxyReq.setHeader('X-Real-IP', clientIp); proxyReq.setHeader('X-Forwarded-Proto', req.protocol); proxyReq.setHeader('X-Forwarded-Host', req.headers.host); }, onError: (err, req, res) => { console.error('Proxy Error:', err); res.status(500).json({ error: 'Proxy Error', message: err.message }); } }) ); };