go+react实现远程vCenter虚拟机管理终端

文章目录

  • React-Vcenter
    • Demo
    • Quick Start

React-Vcenter

基于go & react实现远程vSphere vcenter虚拟机终端console页面,提供与vcenter管理中的Launch Web Console相同的功能。

项目地址:react-vcenter

Demo

URL: http://localhost:3000

请添加图片描述
请添加图片描述

请添加图片描述

Quick Start

  1. 配置前端访问后端的代理

frontend/package.json

  "proxy": "http://localhost:8888" // The backend addr

frontend/src/setupProxy.ts

export const { createProxyMiddleware } = require('http-proxy-middleware')module.exports= function (app:any) {app.use(createProxyMiddleware("/api",{target: "http://localhost:8888", // The backend addrchangeOrigin: true,ws: true,pathRewrite:{"^/api":"",},}))
}
  1. 配置websocket地址

frontend/src/components/Console/index.tsx, domain_name requires a value for nginx server_name

const consoleUrl = 'wss://<domain_name>/ticket/' + ticket + '?ip=' + host
  1. 配置vCenter宿主机的nginx代理,所有访问虚拟机console页面的请求均由nginx来代理转发到指定的vCenter宿主机上
server {listen 80;server_name vc.rsq.cn;return 301 https://$http_host$request_uri;
}server {listen 443 ssl http2;server_name          vc.rsq.cn;ssl_certificate      nginx_conf/certs/rsq.cn.pem;ssl_certificate_key  nginx_conf/certs/rsq.cn.key;ssl_session_timeout 1d;ssl_session_cache shared:MozSSL:10m;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;ssl_prefer_server_ciphers off;ssl_protocols TLSv1.1 TLSv1.2;add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' '*';add_header 'Access-Control-Allow-Headers' '*';access_log  /var/log/openresty/vc.access.log main;error_log   /var/log/openresty/vc.error.log warn;location / {proxy_pass https://$arg_ip;proxy_http_version                 1.1;proxy_cache_bypass                 $http_upgrade;# Proxy headersproxy_set_header Upgrade           $http_upgrade;proxy_set_header Connection        $connection_upgrade;proxy_set_header Host              $host;proxy_set_header X-Real-IP         $remote_addr;proxy_set_header Forwarded         $proxy_add_forwarded;proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host  $host;proxy_set_header X-Forwarded-Port  $server_port;# Proxy timeoutsproxy_connect_timeout              60s;proxy_send_timeout                 120s;proxy_read_timeout                 120s;}
}
  1. 配置vCenter sdk的账号密码和URL地址信息

backend/pkg/client.go

vcenterURL   = flag.String("vcurl", "https://<user>:<pass>@vcenter.rsq.cn/sdk", "URL of vCenter Server instance")
  1. 开启前后端服务
# start frontend
cd frontend
npm i
npm run start# start backend
cd backend
go mod tidy
go run main.go

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3-氨基苯硼酸接枝的透明质酸(HA-PBA)和聚乙烯醇(PVA )水凝胶负载胶束和药物

3-氨基苯硼酸接枝的透明质酸&#xff08;HA-PBA&#xff09;和聚乙烯醇&#xff08;PVA &#xff09;水凝胶负载胶束和药物 苯硼酸酯交联形成水凝胶的步骤&#xff1a; HA-PBA的制备&#xff1a;首先&#xff0c;3-氨基苯硼酸通过与透明质酸&#xff08;HA&#xff09;中的羧基…

关于Gitea 的简单介绍

在数字化时代&#xff0c;代码托管已成为软件开发的不可或缺的一部分。对于开源项目或企业内部开发团队而言&#xff0c;选择一款合适的代码托管平台至关重要。Gitea&#xff0c;作为一款开源的轻量级代码托管平台&#xff0c;以其易用性、高性能和灵活性&#xff0c;受到了越来…

Selenium web自动化测试环境搭建

Selenium web自动化环境搭建主要要经历以下几个步骤&#xff1a; 1、安装python 在python官网&#xff1a;Welcome to Python.org&#xff0c;根据各自对应平台如&#xff1a;windows&#xff0c;下载相应的python版本。 ​ 下载成功后&#xff0c;点击安装包&#xff0c;一直…

力扣216---组合总和III(Java、递归回溯)

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; 题目描述&#xff1a; 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组…

将数据库中的数据接入Echarts图表

将数据库中的数据接入Echarts图表 要在ECharts图表中接入数据库的数据&#xff0c;需要以下步骤&#xff1a; 连接数据库&#xff1a; 使用Python、Java、Node.js等后端语言&#xff0c;通过对应的数据库驱动&#xff08;如mysql-connector-python、JDBC、mysqljs等&#xff09…

数据结构10:堆和堆排序

文章目录 树的概念及结构树的概念树的相关概念树的表示树在实际中的应用表示文件系统的目录树结构 二叉树概念及结构概念特殊的二叉树二叉树的性质二叉树的存储结构顺序存储链式存储 二叉树的顺序结构及实现二叉树的顺序结构堆的概念及结构 堆的实现堆的插入堆的删除堆的创建向…

【数据结构】08排序

08 排序 1. 冒泡排序&#xff08;BubbleSort&#xff09;1.1 循环嵌套实现1.2 递归实现 2. 选择排序2.1 嵌套循环实现2.2 递归实现 3. 插入排序4. 希尔排序4.1 代码实现 5. 快速排序5.1 代码实现6. 归并排序6.1 递归实现6.2 循环实现 7. 堆排序7.1 构建大顶堆7.2 堆排序7.3 代码…

考研依据数学思维导图,整理出的章节知识大纲

线性代数 | 整体写 | 第二章矩阵及其运算|整体文档|(思维导图&#xff0c;概念&#xff09;-CSDN博客 线性代数 | 分开写 | 第二章 矩阵及其运算 | 1 线性方程组和矩阵-CSDN博客 线性代数 | 分看写 |第二章 矩阵及其运算 | 2 矩阵的运算-CSDN博客 线性代数 | 分开写 |第二章 …

春秋云镜 CVE-2023-51048

靶标介绍&#xff1a; S-CMS v5.0 被发现存在SQLI。 开启靶场 根据题目查找S-CMS v5.0漏洞&#xff0c;百度没有查询到&#xff0c;使用必应搜索S-CMS v5.0 查找到githubCVE-2023-51052的描述 S-CMS v5.0 was discovered to contain a SQL injection... CVE-2023-51052 Git…

达梦数据库的AWR报告

达梦数据库的AWR报告 数据库快照是一个只读的静态的数据库。 DM 快照功能是基于数据库实现的&#xff0c;每个快照是基于数据库的只读镜像。通过检索快照&#xff0c;可以获取源数据库在快照创建时间点的相关数据信息。 为了方便管理自动工作集负载信息库 AWR&#xff08;Auto…

C++修炼之路之多态---多态的原理(虚函数表)

目录 一&#xff1a;多态的原理 1.虚函数表 2.原理分析 3.对于虚表存在哪里的探讨 4.对于是不是所有的虚函数都要存进虚函数表的探讨 二&#xff1a;多继承中的虚函数表 三&#xff1a;常见的问答题 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗--…

【架构】高可用:热备和冷备以及双活

热备与冷备技术培训文档 1. 引言 作为一名架构师&#xff0c;了解并掌握热备和冷备技术至关重要。本培训文档旨在为您提供关于热备和冷备技术的全面培训&#xff0c;帮助您更好地理解和应用这些技术。 2. 背景与需求&#xff08;Why&#xff09; 2.1 热备与冷备的定义 热备…

算法之前缀和和差分

一.前缀和 首先我们来看下面这道题&#xff1a; 假如给你一个数组从a1到an&#xff0c;接下来有m次询问,每次询问有两个参数l,r&#xff0c;请问al到ar之和&#xff0c;每次询问按行输出&#xff1f;&#xff1f;&#xff1f; 对于这个问题&#xff0c;如果你是没有这方面基…

Vue3+TS版本Uniapp:封装uni.request请求配置

作者&#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 封装请求配置项 封装拦截器封装uni.request 封装拦截器 uniapp的封装逻辑不同于Vue3项目中直接使用axios.create()方法创建实例&#xff08;在create方法中写入请求…

【探讨】RocketMQ消息灰度方案-消息逻辑隔离

vivo 鲁班平台 RocketMQ 消息灰度方案 - 稀土掘金分布式- vivo鲁班RocketMQ平台的消息灰度方案MQ消息在生产环境和灰度环境隔离一般怎么实现?消息隔离的原则 中心正常消费者,可以同时消费正常的消息和特定标签的消息(自动识别);特定标签的消费者,只能消费特定标签的消息。灰…

内存管理下及模板初阶

嗨喽&#xff0c;今天阿鑫给大家带来内存管理下以及模板初阶的博客&#xff0c;下面让我们开始今天的学习吧&#xff01; 内存管理下及模板初阶 new和delete的实现原理定位new表达式(placement-new)常见面试题泛型编程函数模板类模板 1. new和delete的实现原理 1.1 内置类型…

Logback:www.w3.org被qiang导致logback报错:Connect reset

稳定运行的系统中&#xff0c;突然报logback不能用的错误&#xff0c;如下&#xff1a; Reported exception: ch.qos.logback.core.joran.spi.JoranException: I/O error occurred while parsing xml file at ch.qos.logback.core.joran.event.SaxEventRecorder.recordEvents(…

用全连接对手写数字识别案例(附解决TensorFlow2.x没有examples问题)

数据集介绍 数据集直接调用可能出现问题&#xff0c;建议从官网直接下载下来&#xff0c;下载存在这四个文件 手写数字识别数据集下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1nqhP4yPNcqefKYs91jp9ng?pwdxe1h 提取码&#xff1a;xe1h 55000行训练数据集&a…

【树莓派Linux内核开发】入门实操篇(虚拟机Ubuntu环境搭建+内核源码获取与配置+内核交叉编译+内核镜像挂载)

【树莓派Linux内核开发】入门实操篇&#xff08;虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载&#xff09; 文章目录 【树莓派Linux内核开发】入门实操篇&#xff08;虚拟机Ubuntu环境搭建内核源码获取与配置内核交叉编译内核镜像挂载&#xff09;一、搭建…

判断完数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int n 0;int i 1;int j 0;int result 1;//提示用户&#xff1b;printf("请输入一个…