# https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy location ~ "^\/pad\/p\/(\w+)$" { rewrite /pad/(.*) /$1 break; rewrite ^/pad$ /pad/ permanent; proxy_pass http://etherpad:9001; proxy_pass_header Server; proxy_redirect / /pad; proxy_set_header Host $host; proxy_buffering off; auth_request /bigbluebutton/connection/checkAuthorization; auth_request_set $auth_status $upstream_status; } location /pad { rewrite /pad/(.*) /$1 break; rewrite ^/pad$ /pad/ permanent; proxy_pass http://etherpad:9001/; proxy_pass_header Server; proxy_redirect / /pad/; proxy_set_header Host $host; proxy_buffering off; } location /pad/socket.io { rewrite /pad/socket.io/(.*) /socket.io/$1 break; proxy_pass http://etherpad:9001/; proxy_redirect / /pad/; proxy_set_header Host $host; proxy_buffering off; proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used proxy_set_header Host $host; # pass the host header proxy_http_version 1.1; # recommended with keepalive connections # WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } location /static { rewrite /static/(.*) /static/$1 break; proxy_pass http://etherpad:9001/; proxy_set_header Host $host; proxy_buffering off; }