打开/关闭搜索
搜索
打开/关闭菜单
通知
打开/关闭个人菜单
查看“Nginx/HttpsOverSSH”的源代码
来自OSSmedia
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
Nginx/HttpsOverSSH
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[分类:WAN]] 本页讲述如何通过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 * nginx 配置文件中需要如下两行: set_real_ip_from 127.0.0.1; real_ip_header proxy_protocol;
返回
Nginx/HttpsOverSSH
。