腾讯云:theia安装+登录认证

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:谛听网络

小提示:您能找到这篇{腾讯云:theia安装+登录认证}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的腾讯云:theia安装+登录认证内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">1 theia 介绍

< ">theia 安装后的样子:

theia界面

< ">theia 是一套构建基于 web 的云端工具和 IDE 的开源框架。theia 提供了一个工作框架、模块系统、和 git 集成等一些可重用的特性。基于 theia 的工具可以远程部署,并通过浏览器或桌面应用如 Electron 进行访问。theia 基于 Typescript、HTML、CSS、LSP(Language Server Protocol)和 VS Code 提供的 Monaco 代码编辑器构建。

< ">它是一套开源框架,而不是一个最终产品,开发者可以基于 theia 构建和自定义一款属于自己的 IDE 或工具,例如 gitpod、建模工具等。

< ">1.1 优点

< ">为终端用户提供完整的多语言 IDE(不仅仅是智能编辑器)。

< ">同时支持桌面和云端的 IDE。

< ">和 VS Code 体验高度一致,大大降低学习成本。

< ">方便扩展,开发者可定制自己的 IDE。

< ">由 Eclipse 基金会托管,是一个与厂商无关的项目。

< ">1.2 不足

< ">第一次打开界面或刷新界面时,会加载所有插件,耗时较长,20s~1min。

< ">增加一个新插件需要重新编译整个 IDE。

< ">默认只支持 nodejs 语言,其它语言可在扩展处安装,或者在 theia 自带的命令行终端中安装。

< ">通过界面操作,只能打开服务器上已有的项目或新建文件夹。不能上传项目,但是可以在 theia 上自带的终端执行 git 命令拉取 git 项目,也可以通过其它命令如 rsync 或 scp 命令自行将本地项目拷贝到远程服务器。

< ">< font-size: 18px;">2 theia 安装

< ">有如下几种方式:

< ">从源代码克隆、构建和运行

< ">基于自定义 package.json 构建包启动

< ">基于预配置的 Docker Image 构建

< ">在 gitpod 中启动

< ">本文介绍第 1 种方式,即通过源码安装。

< ">为了提高安装速速,并且避免网络错误,可在腾讯云硅谷买一台 CVM,操作系统为 ubuntu 18。

< ">安装 node 10 和 yarn:

wget https://nodejs.org/dist/latest-v10.x/node-v10.22.0-linux-x64.tar.gz

tar zxvf node-v10.21.0-linux-x64.tar.gz -C /usr/local



echo "export PATH=/usr/local/node-v10.21.0-linux-x64/bin:$PATH" >> /etc/profile

echo "export PATH=/usr/local/node-v10.21.0-linux-x64/bin:$PATH" >> /etc/bash.bashrc 

source /etc/profile


npm install -g yarn

< ">theia 前置安装:

apt-get install -y g++ gcc make

apt-get install -y pkg-config

apt-get install -y build-essential



apt-get install -y libx11-dev libxkbfile-dev

apt-get inst公司营销方案all -y git

< ">安装 theia

git clone https://github.com/eclipse-theia/theia

cd theia

yarn

cd examples/browser

yarn run start --hostname 0.0.0.0 --port 3000

< ">如果安全组开放了 3000 端口,此时便可以通过 http://IP:3000 访问了。

< ">< font-size: 18px;">3 登录认证

< ">theia 没有登录认证功能,任何人都可以访问,不安全,可借助 ngx_http_auth_digest 模块进行登录认证。

< ">下载 ngx_http_auth_digest:

wget https://github.com/atomx/nginx-http-auth-digest/archive/v1.0.0.tar.gz

tar zxvf v1.0.0.tar.gz

< ">编译安装 nginx 时,加上参数:

--add-module=nginx-http-auth-digest的路径

< ">生成登录密码:

apt-get install -y apache2-utils

htdigest -c /usr/local/passwd.digest theia admin

< ">其中

< ">/usr/local/passwd.digest 为密码文件路径

< ">theia 为 realm,必须与后面要提到的 nginx 配置文件保持一致。

< ">admin 为登录用户名

< ">在 nginx 配置文件中添加 server 段:

server {

< background-color: rgb(242, 242, 242); white-space: pre;"> listen 80 default_server;


    auth_digest_user_file /usr/local/passwd.digest;

    auth_digest_shm_size  8m;   # the storage space allocated for tracking active sessions

    

    location / {

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "upgrade";


        auth_digest 'theia';

        auth_digest_timeout 60s;    # allow users to wait 1 minute between receiving the

                                    # challenge and hitting send in the browser dialog box

        auth_digest_expires 600s;   # after a successful challenge/response, let the client

                                    # continue to use the same nonce for additional requests

                                    # for 600 seconds before generating a new challenge

        auth_digest_replays 60;     # also generate a new challenge if the client uses the

                                    # same nonce more than 60 times before the expire time limit


        proxy_pass http://127.0.0.1:3000;

    }

}

< ">其中,

< ">auth_digest_user_file 必须与设置密码的 htdigest 命令中的密码文件参数保持一致。

< ">auth_digest 必须与设置密码的 htdigest 命令的 realm 参数保持一致。

< ">proxy_set_header Upgrade $http_upgrade; 

< "> proxy_set_header Connection "upgrade";

< ">    这两行必须有,否则不能正确代理 websocket。

< ">这个配置相当于每 (auth_digest_timeout+auth_digest_expires)=660s 允许 auth_digest_shm_size/((48 + ceil(auth_digest_replays/8))bytes)=(8*1024*1024)/(48+8)=149.8k 次请求,即每 660s 允许约 149.8k 次请求。登录认证 10min 后过期。

< ">最后启动 nginx,会弹出登录认证框,输入用户名和密码后即可登录,跳转到 theia 界面。

< ">为了更加安全,需要先停掉 theia,将启动方式

yarn run start --hostname 0.0.0.0 --port 3000

< ">改为:

yarn start

< ">默认监听端口为 3000。

参考

https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#quick-start

https://www.nginx.com/resourc翼鱼服饰es/wiki/modules/auth_digest

https://www.yangyang.cloud/blog/2015/07/17/session-with-express-and-nginx

腾讯云:theia安装+登录认证

上一篇:腾讯云:腾讯会议大规模使用Kubernetes的技术实践
下一篇:必应广告开户及审核常见问题解答


版权声明:以上主题为“腾讯云:theia安装+登录认证"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    腾讯云:theia安装+登录认证
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“腾讯云:theia安装+登录认证”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通腾讯云:theia安装+登录认证的相关事宜。

关键词:腾讯云:theia安装+登录认

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号