前言
树莓派上安装摄像头对家里进行远程监控,但是仅限于局域网,于是使用反向代理对腾讯云公网服务器进行代理,就可以通过公网远程访问就家里的监控了。
目录
自带ssh
格式
ssh -fNR 公网服务器端口:localhost:端口 root@公网服务器ip #例子 ssh -fN -R 33335:localhost:8080 [email protected] -f:是指后台运行,不会阻塞shell继续向下执行; -N:是指建立的ssh连接只用于转发数据,不解析命令; -R:是指建立反向隧道,一般我们ssh某个服务器是正向隧道; 公网服务器ip端口:是公网服务器上的代理端口; localhost:端口:内网机器ip和端口号(也可以使用127.0.0.1)交互以及一些问题
1.自带ssh要求输入公网服务器密码
2.会自动断开
autossh
通过一个端口进行“心跳检测”,如果断开会自动连接
配置免密
ssh-keygen #将密钥复制到公网服务器,要求输入公网服务器密码 ssh-copy-id -i .ssh/id_rsa.pub [email protected]安装
sudo yum install autossh #或 sudo apt-get install autossh参数
autossh -M 公网服务器检测重连端口 -NR 公网服务器ip端口:localhost:端口 -f root@公网服务器ip #例子 autossh -M -NR 33335:localhost:8080 -f [email protected]参数与以上一致
公网服务器配置Nginx
总不能用ip裸奔吧。。。
server { listen 80; server_name域名; auth_basic "Please input password"; auth_basic_user_file /usr/share/nginx/passwd/passwd; location / { proxy_pass :33335; } }配置Nginx访问密码
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