Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Nginx configuration for SSH tunnel
upstream tunnel {
server 127.0.0.1:3000;
}
server {
listen 80;
server_name dev.codeplane.com br.dev.codeplane.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://tunnel;
}
}
ssh -vnNT -R 3000:localhost:3000 deploy@codeplane.com
@ilanni2460
Copy link

ilanni2460 commented Aug 18, 2015

very good

@IvanAlekseevichPopov
Copy link

IvanAlekseevichPopov commented May 2, 2017

Awesome!

@ryanzyy
Copy link

ryanzyy commented Sep 7, 2017

Thanks for sharing!

@myxomatom
Copy link

myxomatom commented Dec 8, 2017

Interesting, thank you

@Trane9991
Copy link

Trane9991 commented Mar 6, 2018

Nginx >1.9 has streams support so you can simply use:

stream {
    server {
        listen           nginx-server:2222;
        proxy_pass my-ssh-server:22;
    }
}

@bochen2014
Copy link

bochen2014 commented Apr 9, 2018

I am not very sure what this is for. If it’s just to expose localhost:3000 via codeplane.com, what is Nguni for? Isn’t codeplane.com:3000 already opened after you run ssh -R 3000:localhost:3000 deploy@codeplane.com?

If it’s to ssh over https , then Nginx can’t pass tcp traffic. Unless ver >1.9

————————————
Got it now. Thanks for sharing

@Turi-fly
Copy link

Turi-fly commented May 4, 2018

very good thank you!!

@flavienbwk
Copy link

flavienbwk commented Jul 12, 2020

Nginx >1.9 has streams support so you can simply use:

stream {
    server {
        listen           nginx-server:2222;
        proxy_pass my-ssh-server:22;
    }
}

Very useful, thanks

@bhrpro
Copy link

bhrpro commented Oct 26, 2021

Thanks for sharing dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment