Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Nginx configuration for SSH tunnel
upstream tunnel {
server {
listen 80;
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
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, what is Nguni for? Isn’t already opened after you run ssh -R 3000:localhost:3000

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

Got it now. Thanks for sharing

Copy link

Turi-fly commented May 4, 2018

very good thank you!!

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

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