树莓派上安装摄像头对家里进行远程监控,但是仅限于局域网,于是使用反向代理对腾讯云公网服务器进行代理,就可以通过公网远程访问就家里的监控了。
ssh -fNR 公网服务器端口:localhost:端口 root@公网服务器ip
#例子
ssh -fN -R 33335:localhost:8080 root@123.123.123.123
-f:是指后台运行,不会阻塞shell继续向下执行;
-N:是指建立的ssh连接只用于转发数据,不解析命令;
-R:是指建立反向隧道,一般我们ssh某个服务器是正向隧道;
公网服务器ip端口:是公网服务器上的代理端口;
localhost:端口:内网机器ip和端口号(也可以使用127.0.0.1)
1.自带ssh要求输入公网服务器密码
2.会自动断开
通过一个端口进行“心跳检测”,如果断开会自动连接
配置免密
ssh-keygen
#将密钥复制到公网服务器,要求输入公网服务器密码
ssh-copy-id -i .ssh/id_rsa.pub root@123.123.123.123
sudo yum install autossh
#或
sudo apt-get install autossh
autossh -M 公网服务器检测重连端口 -NR 公网服务器ip端口:localhost:端口 -f roo
t@公网服务器ip
#例子
autossh -M 333338 -NR 33335:localhost:8080 -f root@123.123.123.123
参数与以上一致
总不能用ip裸奔吧。。。
server {
listen 80;
server_name 域名;
auth_basic "Please input password";
auth_basic_user_file /usr/share/nginx/passwd/passwd;
location / {
proxy_pass http://127.0.0.1:33335;
}
}
auth_basic "Please input password";
auth_basic_user_file /usr/share/nginx/passwd/passwd;
第一行是提示
第二行是密码文件
htpasswd -c [passwfile] [username]#例子,执行输入密码
htpasswd -c /usr/share/nginx/passwd/passwd san
注意,最后的passwd是一个空文件,使用touch创建
touch passwd
https://www.jianshu.com/p/09fd97f8c43f
https://www.cnblogs.com/xiaobaiskill/p/9803867.html