最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go+react實現(xiàn)遠程vCenter虛擬機管理終端方式

 更新時間:2026年04月16日 14:14:04   作者:RSQ博客  
基于Go和React實現(xiàn)遠程vSphere vcenter虛擬機終端console頁面,提供與vcenter管理中的LaunchWebConsole相同的功能,項目包括前端、后端配置,以及vCenter宿主機的Nginx代理設(shè)置

go+react實現(xiàn)遠程vCenter虛擬機管理終端

基于go & react實現(xiàn)遠程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 addr
                changeOrigin: true,
                ws: true,
                pathRewrite:{
                    "^/api":"",
                },
            }
        )
    )
}

2、配置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

3、配置vCenter宿主機的nginx代理,所有訪問虛擬機console頁面的請求均由nginx來代理轉(zhuǎn)發(fā)到指定的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 headers
        proxy_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 timeouts
        proxy_connect_timeout              60s;
        proxy_send_timeout                 120s;
        proxy_read_timeout                 120s;
    }
}

4、配置vCenter sdk的賬號密碼和URL地址信息

backend/pkg/client.go

vcenterURL   = flag.String("vcurl", "https://<user>:<pass>@vcenter.rsq.cn/sdk", "URL of vCenter Server instance")

5、開啟前后端服務(wù)

# start frontend
cd frontend
npm i
npm run start

# start backend
cd backend
go mod tidy
go run main.go

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零封裝Gin框架實現(xiàn)日志初始化及切割歸檔功能

    從零封裝Gin框架實現(xiàn)日志初始化及切割歸檔功能

    這篇文章主要為大家介紹了從零封裝Gin框架實現(xiàn)日志初始化及切割歸檔功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • Go語言中l(wèi)og日志庫的介紹

    Go語言中l(wèi)og日志庫的介紹

    本文給大家介紹Go語言中l(wèi)og日志庫的概念使用技巧,log包定義了Logger類型,該類型提供了一些格式化輸出的方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • Go?內(nèi)聯(lián)優(yōu)化讓程序員愛不釋手

    Go?內(nèi)聯(lián)優(yōu)化讓程序員愛不釋手

    這篇文章主要介紹了Go?內(nèi)聯(lián)優(yōu)化讓程序員愛不釋手,內(nèi)聯(lián)是在編譯過程中自動進行的一類基本優(yōu)化之一,文章圍繞主題展開更多詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 詳解Go語言中結(jié)構(gòu)體與JSON間的轉(zhuǎn)換

    詳解Go語言中結(jié)構(gòu)體與JSON間的轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了Go語言中結(jié)構(gòu)體與JSON間的轉(zhuǎn)換,文中的示例代碼講解詳細,對學習Go語言有一定的幫助,需要的可以參考一下
    2022-12-12
  • golang?recover函數(shù)使用中的一些坑解析

    golang?recover函數(shù)使用中的一些坑解析

    這篇文章主要為大家介紹了golang?recover函數(shù)使用中的一些坑解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • go基于Gin框架的HTTP接口限速實踐

    go基于Gin框架的HTTP接口限速實踐

    HTTP接口在各個業(yè)務(wù)模塊之間扮演著重要的角色,本文主要介紹了go基于Gin框架的HTTP接口限速實踐,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • ???????Golang實現(xiàn)RabbitMQ中死信隊列幾種情況

    ???????Golang實現(xiàn)RabbitMQ中死信隊列幾種情況

    本文主要介紹了???????Golang實現(xiàn)RabbitMQ中死信隊列幾種情況,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Go語言學習筆記之文件讀寫操作詳解

    Go語言學習筆記之文件讀寫操作詳解

    這篇文章主要為大家詳細介紹了Go語言對文件進行讀寫操作的方法,文中的示例代碼講解詳細,對我們學習Go語言有一定的幫助,需要的可以參考一下
    2022-05-05
  • Golang使用切片實現(xiàn)單鏈表的示例代碼

    Golang使用切片實現(xiàn)單鏈表的示例代碼

    單鏈表(Single?Linked?List)是鏈表數(shù)據(jù)結(jié)構(gòu)的一種實現(xiàn)方式,它包含一系列節(jié)點(Node),每個節(jié)點都包含一個數(shù)據(jù)域和一個指向下一個節(jié)點的指針,本文給大家介紹了Golang使用切片實現(xiàn)單鏈表的操作,需要的朋友可以參考下
    2024-05-05
  • Go 備份數(shù)據(jù)庫表的實現(xiàn)示例

    Go 備份數(shù)據(jù)庫表的實現(xiàn)示例

    備份mysql數(shù)據(jù)庫的方法有很多,常用的可以登錄mysql活著使用mysqldump命令進行備份,本文提供golang的方式來備份mysql數(shù)據(jù)庫,下面就來詳細的介紹一下
    2026-06-06

最新評論

丰县| 塘沽区| 沁源县| 吐鲁番市| 环江| 南阳市| 治县。| 四子王旗| 太康县| 江津市| 麟游县| 大宁县| 茌平县| 靖江市| 章丘市| 宾阳县| 蓝山县| 虞城县| 灯塔市| 新绛县| 吕梁市| 迭部县| 称多县| 吐鲁番市| 宜良县| 阳江市| 高邮市| 依安县| 九江市| 太湖县| 安塞县| 永修县| 成都市| 星子县| 金秀| 长垣县| 临猗县| 津市市| 呼玛县| 土默特右旗| 巫山县|