openwrt frp内网穿透,以及使用反向代理开启https

来源:网络采集   2024-10-27 21:58:18  
准备工作
一台云服务器,一个域名。

关于云服务器,国内外的都可以,当然国内的效果最好,不过需要备案域名,不能做到开箱即用,我这里以国外的服务器来演示。我使用的ubuntu系统,建议大家跟我使用一样的系统方便后续操作。

域名解析
把域名解析到vps,记得开启泛域名解析,可以直接照抄我的解析方式。



如果要搭建frp内网穿透,这里建议先把vps的所有端口打开,等部署完成后,我们再来关闭对应的端口。

我这里就吧域名解析到vps,并且打开所有端口。

ssh连接到我们的服务器,然后使用一键脚本安装

frp一键脚本

官方github: https://github.com/mvscode/frps-onekey
 
wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

这里我们默认安装,跟着脚本的提示一路回车就行了,但是记得吧http跟https端口更改一下,不要使用80和443,这里更改是为了方便内网穿透开启https服务,并且以后服务器部署一些其他web服务也更方便,总不能部署一个frp吧,太浪费服务器了,我们改成8080和4430,然后就是其他一路默认即可,安装完成后会给我们生成配置文件,记下来这个配置文件。



接下来来到openwrt填写配置。

根据图片进行填写



填写完成后,在局域网里的所有设备都可以进行穿透,我来演示几个穿透服务供大家参考。

先来把openwrt穿透出去。

我openwrt的局域网地址是192.168.1.1,使用端口是80,所以就要这样填写配置文件。



这里我要详细讲一下自定义域名,这里我的主域名是cdfk.xyz,然后我自定义的域名是op.cdfk.xyz,因为域名解析我们开启了泛解析,所主域名前面的是可以随便填写的,也就是说我可以写成openwrt.cdfk.xyz,luyouqi.cdfk.xyz,都是可以的,大家选个自己认为好记的前缀就行了。

服务备注名随便填写,不重复就行。

然后,我就可以使用op.cdfk.xyz:8080在外网访问我的openwrt了。



接下来是局域网里的一台linux服务器,我要吧22端口穿透出去,方便我在外远程连接我的服务器。我的服务器局域网地址是192.168.1.135,端口是22,协议是tcp,那我们就要这么填写。



这里我们就可以通过我们服务器的ip加6000端口来ssh连接到我们内网的服务器了。

这里主要来说一下远程端口,我这里默认大家的服务器端口全开,这个端口是随便填写的,大家填自己喜欢的就行了,前提是服务器该端口未被占用。

然后这台服务器我也部署了一个博客,地址是192.168.1.135,端口是8090,协议是http,那么我们就要这样填写配置文件,跟填写openwrt的一样,如图



那么我们就可以通过bk.cdfk.xyz:8080来访问我们的局域网里的博客了。



哈哈,到这里,大家估计已经明白了如何填写配置文件,基本上就是选择要穿透服务对应的协议,ip,以及端口。

不过大家发现一个问题没有,在访问web服务时,使用域名加端口的方式访问太不优雅了,并且使用还是http协议,没有安全保障。并且如果我想把自己的web服务提供给其他人访问,别人看到访问你的网站竟然要加端口号,那他可能会质疑你的专业性,那么接下来,我们就来解决这个问题。

开启https并且只使用域名访问,不用加端口号,需要使用反向代理。
首先需要安装docker和docker-compose,大家自行安装。

我使用的是ubuntu,所以执行下面的命令安装
 
sudo apt update
sudo apt install docker.io docker-compose

查看是否安装成功
 
docker -v

显示这样就是安装成功了



如果你使用的是国内服务器,国内镜像源都被下架,所以我们更改一下可用镜像仓库,执行下面的命令。国外的服务器不需要执行,默认即可。
 
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.1panel.live"] 
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

开启https需要配合反向代理,这里我们使用nginx proxy manager,简单好上手。

官方github:https://github.com/xiaoxinpro/nginx-proxy-manager-zh
 
mkdir nginx-proxy-manager-zh 
 
cd nginx-proxy-manager-zh
 
sudo echo "
version: '3'
services:
  app:
    image: 'chishin/nginx-proxy-manager-zh:release'
    restart: always
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
" > docker-compose.yml
 
docker-compose up -d

部署好后我们来到浏览器,输入

自己服务器的ip:81

访问即可来到ngnix proxy manger

默认管理员信息

Email:
 
 admin@example.com

Password:
 
changeme

登录后更改一下默认用户名和密码,接下来使用反向代理的方式为frp的http服务开启https。

接下来,我们把刚才穿透出去的服务反代一下并且切开启https。

这里我openwrt的自定义域名是op.cdfk.xyz,内网部署的博客自定义域名是bk.cdfk.xyz

如图





















做好这下后,我们就可以直接通过域名访问我们的服务了,并且是开启了https服务的哦。

后面如果又有新的服务,我们就在添加反向代理就行了。

这就是openwrt内网穿透的全部教程了,如果觉得对你有帮助,不要忘记点赞评论啊。


声明:本文系互联网搜索而收集整理,不以盈利性为目的,文字、图文资料源于互联网且共享于互联网。
如有侵权,请联系 admin#96751.com (#改@) 删除。