< Nginx
本页讲述如何通过SSH代理HTTPS流量,适用于公网入口机代理内网服务器的情况。这种方法的ssl证书配置在内网服务器上,所以迁移入口机无压力。
SSH反代
- 在后端机上配置一个专门用于代理的用户,并设置ssh密钥
- 使用screen或者系统服务连接
screen
分为三个文件
- start.sh
- 80.sh
- 443.sh
#!/bin/bash while true do ssh -NR 127.0.0.1:8443:127.0.0.1:443 <remote server> sleep 3 done
#!/bin/bash while true do ssh -NR 127.0.0.1:8080:127.0.0.1:80 <remote server> sleep 80 done
#!/bin/bash screen -S 80 -dm ~/80.sh screen -S 443 -dm ~/443.sh
Nginx反代(入口机)
修改入口机上的的nginx配置文件,添加stream块
stream { upstream ssl_backend { server 127.0.0.1:8443; } upstream http_backend{ server 127.0.0.1:8080; } server { #ssl_preread on; listen 443; proxy_pass ssl_backend; proxy_protocol on; } server { listen 80; proxy_pass http_backend; proxy_protocol on; } }
Nginx后端
正常配置即可,但是请在所有listen后面加上 proxy_protocol