Forked from gmanau/nginx-socketio-ssl-reverse-proxy.conf
Last active
June 30, 2018 00:47
-
-
Save flavioespinoza/1fff5aac998c6a5f855ec531cb56b215 to your computer and use it in GitHub Desktop.
How to setup nginx as nodejs/socket.io reverse proxy over SSL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
upstream upstream-ubuntu { | |
server 127.0.0.1:8080; | |
} | |
upstream upstream-nodejs { | |
ip_hash; | |
server 127.0.0.1:6001; | |
server 127.0.0.1:6002; | |
server 127.0.0.1:6003; | |
server 127.0.0.1:6004; | |
server 127.0.0.1:6005; | |
} | |
server { | |
listen 80; | |
server_name flavioespinoza.com www.flavioespinoza.com; | |
rewrite ^(.*) https://$host$1 permanent; | |
} | |
server { | |
listen 443 ssl; | |
ssl on; | |
server_name flavioespinoza.com www.flavioespinoza.com; | |
ssl_certificate /etc/letsencrypt/live/flavioespinoza.com/fullchain.pem; # managed by Certbot | |
ssl_certificate_key /etc/letsencrypt/live/flavioespinoza.com/privkey.pem; # managed by Certbot | |
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot | |
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot | |
keepalive_timeout 60; | |
ssl_session_cache shared:SSL:10m; | |
large_client_header_buffers 8 32k; | |
location / { | |
proxy_pass http://upstream-ubuntu; | |
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; | |
proxy_redirect off; | |
proxy_buffering 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_set_header X-Forwarded-Proto $scheme; | |
add_header Front-End-Https on; | |
} | |
location /socket.io/ { | |
proxy_pass http://upstream-nodejs; | |
proxy_redirect off; | |
proxy_http_version 1.1; | |
proxy_set_header Upgrade $http_upgrade; | |
proxy_set_header Connection "upgrade"; | |
proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment