IT教程 ·

我是如何在家办公的

一向很期待长途在家办公,然则如今真实行起来,确切不是那末顺应,以至有些无聊。由于涉及到团队合作,时候上也没有做到自在布置。在这段时候的长途办公中,涉及到的重要问题就是和前端开发人员的对接上,我们的效劳端程序布置在阿里云上,由于项目依然处于开发阶段,接口上我们也须要常常调解,频仍宣布更新迥殊影响效力,所以想到了内网穿透的计划,采纳ngrok搭建了一套内网转发效劳,同时也移植构建了一版http报表体系。

  前提条件:域名、主机 ,笔者所用主机是阿里云centos8.0,域名也是在阿里云购置。(备注:假如还没有备案,请挑选香港或许外洋云主机)

  ngrok搭建步骤以下:

    1.环境装置

      起首装置gcc和git,装置敕令以下:

        yum install gcc -y
        yum install git -y

装置go言语环境,假如不想经由历程yum装置,可以自行去官网下载,装置到效劳器上。装置敕令以下:

        yum install -y mercurial git bzr subversion golang

 

    2.搭建效劳

      在搭建效劳的历程当中,起首就是制造证书,制造证书敕令以下:

        export NGROK_DOMAIN ="test.com"  # 个人域名
        openssl genras -out rootCA.key 2048
        openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
        openssl genrsa -out device.key 2048
        openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
        openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

     复制粘贴运转就行,运转效果以下图所示:  

     我是如何在家办公的 IT教程 第1张

 

 

     然后下载ngrok源码:

       git clone https://github.com/inconshreveable/ngrok.git

 

代码下载终了以后,用适才生产的证书替代ngrok的证书,以下所示:

    我是如何在家办公的 IT教程 第2张

  证书替代终了以后,在ngrok文件夹下,即代码文件夹下输入敕令编译效劳端代码:

       GOOS=linux GOARCH-amd64 make release-server

 

编译历程较慢,请耐烦守候,且有可能会碰到编译失利的状况,从新编译即可。编译完成以后,会在bin目次下生产。效劳启动敕令是     ngrokd -domain='你的域名'。先不必启动效劳端,往下继承编译客户端。客户端可以自行diy,修正ngrok默许效劳地点,以下所示:

   我是如何在家办公的 IT教程 第3张                 

   我是如何在家办公的 IT教程 第4张     

 

 

   在第24行,修正defaultServerAddr为设置的域名,端口改成4443。

   修正客户端logo,以下所示,在第100行摆布修正ngrok为本身的logo笔墨即可。

   我是如何在家办公的 IT教程 第5张

 

 

   完事以后,即可编译生产客户端,编译后的客户端也在bin目次,编译完成以后自行下载到个人电脑。编译敕令以下:

    GOOS=windows GOARCH=amd64 make release-client

 

 效劳端、客户端均编译终了,可为效劳端建立效劳便于效劳运转,一下为笔者效劳设置:

    [Unit]
    Description=ngrok service
    After=network.target
    After=syslog.target

    [Service]
    Type=simple
    ExecStart=/new-ngrok/code/ngrok/bin/ngrokd -domain= #个人设置的域名
    ExecStop=/bin/kill $MAINPID
    ExecReload=/bin/kill -USR1 $MAINPID
    Restart=always

    [Install]
    WantedBy=multi-user.target

同时,封闭效劳器防火墙,或许自行设置

   systemctl stop firewalld

   启动效劳端,启动客户端,客户端运用体式格局以下,假如客户端未准确链接,设置下效劳器的安全组划定规矩即可,开放对应端口: 

  我是如何在家办公的 IT教程 第6张

 

  我是如何在家办公的 IT教程 第7张

 

 

  然后接见对应的公网地点即可。同时,治理地点是127.0.0.1:4040,界面以下:

 

  我是如何在家办公的 IT教程 第8张

 

 

  经由历程如许的体式格局,可以清晰的查看到前端每次要求详细参数、返回信息,便于在对接历程当中可以很快的排查问题。

 

  内网转发效劳搭建终了,下一步就是集成到http报表,报表首页面以下:

 

 我是如何在家办公的 IT教程 第9张

 

  在此谢谢SpringLeee本报表是基于开源项目移植而成

  本项目是采纳中间件的情势对要求举行统计,且github上此报表是core版本的,与作者沟通作者不盘算整进.net framework。由于我们这边的项目大都是.net framework版本,所以只能本身着手移植到framework,花费了5个多小时胜利移植,且针对详细功用举行了部份优化。移植后的版本,采纳autofac举行DI。且经由历程httomodule的体式格局纪录要求,因此在运用体式格局上,也以中间件的情势,只须要在web.config中注册本httpmodule即可。framework版本代码,以及运用体式格局,后续整顿事后会分享到github。

 

  在长途时期,我是依托ngrok来处理前后端的对接问题,采纳httpreports来对天天的要求举行剖析。哪些接口轻易报错、哪些接口耗时最长、哪些接口要求频次最高等等。

参与评论