相关推荐recommended
公网访问Linux CentOS本地搭建的Web站点
作者:mmseoamin日期:2023-12-02

文章目录

  • 前言
  • 1. 本地搭建web站点
  • 2. 测试局域网访问
  • 3. 公开本地web网站
    • 3.1 安装cpolar内网穿透
    • 3.2 创建http隧道,指向本地80端口
    • 3.3 配置后台服务
    • 4. 配置固定二级子域名
    • 5. 测试使用固定二级子域名访问本地web站点

      转载自cpolar文章:Linux CentOS本地搭建Web站点,并实现公网访问

      前言

      在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。

      Apache2 是一种流行的 Web 服务器应用程序,也就是通常所说的运行网站的服务器,目前apache在centos已经改名,叫httpd。

      1. 本地搭建web站点

      安装httpd,输入命令,出现y/N,输入y

      yum install httpd
      

      公网访问Linux CentOS本地搭建的Web站点,20221228152325,第1张

      安装完成查看版本信息,出现以下版本信息表示安装成功

      httpd -v
      

      公网访问Linux CentOS本地搭建的Web站点,20221228153025,第2张

      启动服务

      service httpd start
      

      公网访问Linux CentOS本地搭建的Web站点,20221228153034,第3张

      2. 测试局域网访问

      打开浏览器输入http://192.168.XX.XX ,局域网访问,httpd默认是80端口,访问时候无需加端口

      公网访问Linux CentOS本地搭建的Web站点,20221228153045,第4张

      注意,如没有出现这个页面,可能是防火墙问题,输入以下命令可以关闭防火墙(centos8)

      systemctl stop firewalld.service
      

      3. 公开本地web网站

      由于该站点是在本地设备上,局域网之间可以访问,但是公网环境下无法访问,接下来将web站点发布到公网。

      这里使用cpolar内网穿透来实现,创建http隧道,将内网80端口映射到公网上,无需公网IP,无需设置路由器,也无需购买云服务器。

      cpolar官网:https://www.cpolar.com/

      3.1 安装cpolar内网穿透

      • cpolar 安装(国内使用)
        curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
        
        • 或 cpolar短链接安装方式:(国外使用)
          curl -sL https://git.io/cpolar | sudo bash
          
          • 查看版本号,有正常显示版本号即为安装成功
            cpolar version
            
            • token认证

              登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里

              cpolar authtoken xxxxxxx
              

              公网访问Linux CentOS本地搭建的Web站点,在这里插入图片描述,第5张

              • 简单穿透测试
                cpolar http 8080
                

                按ctrl+c退出

                • 向系统添加服务
                  sudo systemctl enable cpolar
                  
                  • 启动cpolar服务
                    sudo systemctl start cpolar
                    
                    • 查看服务状态
                      sudo systemctl status cpolar
                      

                      公网访问Linux CentOS本地搭建的Web站点,在这里插入图片描述,第6张

                      3.2 创建http隧道,指向本地80端口

                      cpolar http 80
                      

                      如下图所示,有生成相应的公网地址,一个http协议,一个为https协议(免去配置ssl证书的繁琐步骤),将其复制下来

                      公网访问Linux CentOS本地搭建的Web站点,20221228153119,第7张

                      在浏览器输入上面暴露的http公网地址,实现在公网环境访问。出现这个界面表示站点暴露到公网成功。

                      公网访问Linux CentOS本地搭建的Web站点,20221228153132,第8张

                      3.3 配置后台服务

                      由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。

                      • 编辑cpolar.yml文件
                        vi /usr/local/etc/cpolar/cpolar.yml
                        
                        • 打开后按i编辑,在文件中添加如下配置
                          authtoken: xxxxxxxxxxxx #认证token
                          tunnels:
                            webstation:
                              proto: http
                              addr: "80"
                              region: cn_vip
                          

                          参数介绍:

                          • webstation:隧道名称,可以自定义
                          • proto: 协议,如tcp或者http
                          • region:线路地区:有cn cn_vip cn_top等,可自由选择,具体请参考官网文档——全球基础设施

                            公网访问Linux CentOS本地搭建的Web站点,20221228153150,第9张

                            输入完成后按Esc键退出编辑,然后输入:wq保存(如果您的项目部署在其他端口上,也可以指定其他端口)

                            • 启动所有隧道测试,出现以下界面,然后复制webstation隧道的公网地址(指向80端口).
                              cpolar start-all
                              

                              公网访问Linux CentOS本地搭建的Web站点,20221228153201,第10张

                              • 打开浏览器输入复制的公网地址访问

                                公网访问Linux CentOS本地搭建的Web站点,20221228153209,第11张

                                4. 配置固定二级子域名

                                由于使用免费cpolar所生成的公网地址为随机临时地址,24小时内会重复变化。我们可以为其配置固定的二级子域名。

                                注意,配置固定二级子域名需要将cpolar套餐升级至基础套餐或以上。

                                进入cpolar官网并登录进入后台界面,点击左侧的预留,找到保留二级子域名,我们来为本地web站点保留一个二级子域名:

                                • 地区:选择China VIP
                                • 二级域名:可自定义
                                • 描述:即备注,可自定义

                                  公网访问Linux CentOS本地搭建的Web站点,20221228153216,第12张

                                  二级子域名保留成功,将其复制下来

                                  公网访问Linux CentOS本地搭建的Web站点,20221228153223,第13张

                                  • 编辑cpolar.yml配置文件
                                    vi /usr/local/etc/cpolar/cpolar.yml
                                    

                                    打开后按i编辑

                                    在webstation下添加一行:subdomain: ”myweb1”

                                    公网访问Linux CentOS本地搭建的Web站点,20221228153234,第14张

                                    编辑完成按Esc键退出编辑,然后输入:wq回车保存。然后执行启动所有隧道,出现地址后复制公网地址

                                    cpolar start-all
                                    

                                    公网访问Linux CentOS本地搭建的Web站点,20221228153241,第15张

                                    5. 测试使用固定二级子域名访问本地web站点

                                    在浏览器访问刚刚所配置成功的二级子域名,出现页面配置成功。

                                    公网访问Linux CentOS本地搭建的Web站点,20221228153251,第16张