如何在OpenWRT软路由系统部署uhttpd搭建web服务器实现远程访问——“cpolar内网穿透” 文章目录前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址前言uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器并且和 OpenWrt 配置框架非常好地集成在一起。它是管理 OpenWrt 的默认的 Web 服务器还提供了现代 Web 服务器所有的 功能 。下面我们将在openwrt上部署uhttpd搭建web服务器同时使用cpolar将其安全暴露到公网上让公网用户也可以正常访问到openwrt下的web服务器。1. 检查uhttpd安装正常版本下,如果可以在浏览器访问openWRT web控制台界面,表示已经安装了uhttpd,同样,我们可以在根目录下面看到一个名称为www的目录,这样表示已经安装了uhttpd.2. 部署web站点既然uhttpd已经安装好了,我们就可以直接使用我们只需要把我们的站点拷贝进去www文件夹下面即可。接下来主要介绍html网站部署,使用一个免费站点进行演示进入www文件夹cd/www使用wget下载站点,ftp上传文件也可以wgethttps://www.cpolar.com/static/downloads/meditation-app-master.tar.gz下载好后解压tarxzf meditation-app-master.tar.gz解压后我们可以看到一个名称为meditation-app-master的文件夹,这里还可以看到一个名称为cgi-bin的文件夹,这个就是openWRT web 控制台界面位置.此时我们在外部浏览器使用openWRT局域网ip地址加资源路径/meditation-app-master/index.html即可看到我们下载部署的站点。如果不加资源路径,默认会跳转过去openWRT web 界面,此时我们一个静态站点就已经配置好了。下面我们安装cpolar内网穿透来实现在公网环境下也可以远程访问这个web站点。3. 安装cpolar内网穿透通过ssh连接操作openwrt, 下载公钥:wget-Ocpolar-public.key http://openwrt.cpolar.com/releases/public.key下载完成后添加公钥opkg-keyaddcpolar-public.key添加cpolar的opkg仓库源echosrc/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(./etc/openwrt_release;echo$DISTRIB_ARCH)/etc/opkg/customfeeds.conf更新仓库opkg update然后开始安装cpolar,分别执行下面三个安装命令安装三个包:opkginstallcpolaropkginstallluci-app-cpolaropkginstallluci-i18n-cpolar-zh-cn安装完成后,打开openwrt Web管理界⾯,我们可以看到有个service,点击后,即可看到我们cpolar内网穿透点击进去后即可看到cpolar界面,接下来配置cpolar Authtoken登录cpolar官网,如果没有注册账号,可以先注册账号,然后点击左侧的验证查看自己的认证tokencpolar官网https://www.cpolar.com之后将官网查看的token复制到openwrt cpolar服务界面的Auth Token里,设置后点击save保存保存成功后点击界面里的打开Web-UI界面,即可看到cpolar web ui 界面使用我们官网注册的账号登陆,登陆后即可对隧道进行管理,安装就完成啦4. 配置远程访问地址在cpolar web ui管理界面中我们点击左侧仪表盘的隧道管理——创建隧道uhttpd由于部署在了openWRT Web管理界面设置了SSL,所以端口使用443因此我们要来创建一条http隧道指向443端口隧道名称可自定义注意不要重复协议http本地地址443域名类型选择随机域名地区选择China VIP点击创建创建成功后打开在线隧道列表,可以看到公网访问的地址,有两种公网地址访问方式,一种是http,一种是https然后我们使用其中一种http方式公网地址,并且加上资源路径:/meditation-app-master/index.html在浏览器访问,即可看到我们的站点界面,这样这个远程访问就配置好了.5. 配置固定远程地址前面我们创建隧道时使用的是免费随机临时地址,它所生成的公网地址会在24小时内变化,为了方便长久稳定连接,我们可以固定访问地址,在cpolar中叫固定二级子域名或者您也可以配置使用您自己的域名来访问。这里我们以cpolar子域名为例需升级至基础套餐或以上才支持配置二级子域名登录cpolar官网后台点击左侧仪表盘的预留找到保留二级子域名为http隧道保留一个二级子域名。地区选择服务器地区名称填写您想要保留的二级子域名可自定义描述即备注可自定义填写本例保留一个名称为websitewrt的二级子域名。子域名保留成功后我们将子域名复制下来接下来需要将其配置到隧道中去。打开cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表找到需要配置二级子域名的隧道点击右侧的编辑修改隧道信息将二级子域名配置到隧道中域名类型改为选择二级子域名*Sub Domain填写我们刚刚所保留的二级子域名修改完成后点击更新隧道更新成功后点击左侧仪表盘的状态——在线隧道列表可以看到隧道的公网地址已经更新为二级子域名了.然后我们使用其中一种http方式地址在浏览器访问,即可看到我们的站点界面,这样一个固定不变的远程访问个人站点配置好了