如何修改 ESXi HTTP(s) 默认反向代理端口 80 和 443

如何修改 ESXi HTTP(s) 默认反向代理端口 80 和 443

How to Change Default HTTP/HTTPS Reverse Ports (80/443) on ESXi

请访问原文链接:https://sysin.org/blog/esxi-custom-ports/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


片头 - 宣传标语:

VMware ESXi - 云计算操作系统

承载虚拟机、容器和 AI 工作负载的核心基石

修改后的效果图:

ESXi HTTPS 8443

本文介绍了如何将 ESXi Host Client(或称 VMware Host Client)默认的 HTTP(S) 反向代理端口(80 和 443)修改为 8080 和 8443(此为示例,可按需修改为指定端口)。适用于目前所有主流的 ESXi 版本。

需要注意的是:此类修改端口的操作不受 VMware 官方支持,请勿在生产环境中使用。

CSDN 作者提示:之前称为 ESXi Host Client,ESXi 9.1 开始改名 VMware Host Client,参看:VMware Host Client 9.1 - 界面焕新, 体验升级

ESXi 6.x | 7.0

登录 ESXi Shell

编辑配置文件:vi /etc/vmware/rhttpproxy/config.xml,找到下面两行

      <!-- HTTP port to be used by the reverse proxy -->
      <httpPort>80</httpPort>

      <!-- HTTPS port to be used by the reverse proxy -->
      <httpsPort>443</httpsPort>

将 80 和 443 修改为指定的值并保存,例如:

      <!-- HTTP port to be used by the reverse proxy -->
      <httpPort>8080</httpPort>

      <!-- HTTPS port to be used by the reverse proxy -->
      <httpsPort>8443</httpsPort>

重启服务生效:/etc/init.d/rhttpproxy restart

还是无法访问?

cat > /etc/vmware/firewall/custom-rhttpproxy <<EOF
<ConfigRoot>
  <service>
    <id>rhttpproxy-sysin</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8443</port>
    </rule>
    <rule id='0001'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8080</port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>
</ConfigRoot>
EOF

localcli network firewall refresh

如何恢复默认值?当然也是编辑上述配置文件。

ESXi 8.0

ESXi 8.0 的 Security Domain Enforcement policy 有所变更,参看:Domain enforcement change warnings observed on ESXi Host (87510)。修改方法也有所不同。

登录 ESXi Shell

1、禁用 rhttpproxyDom 强制策略

esxcli system secpolicy domain set -n rhttpproxyDom -l disabled

2、编辑配置文件

编辑配置文件:/etc/vmware/rhttpproxy/config.xml,找到下面两行

      <!-- HTTP port to be used by the reverse proxy -->
      <httpPort>80</httpPort>

      <!-- HTTPS port to be used by the reverse proxy -->
      <httpsPort>443</httpsPort>

将 80 和 443 修改为指定的值并保存,例如:

      <!-- HTTP port to be used by the reverse proxy -->
      <httpPort>8080</httpPort>

      <!-- HTTPS port to be used by the reverse proxy -->
      <httpsPort>8443</httpsPort>

3、重启反向代理服务

/etc/init.d/rhttpproxy restart

可选:检查服务运行状态

/etc/init.d/rhttpproxy status

4、开启自定义端口防火墙规则

cat > /etc/vmware/firewall/custom-rhttpproxy <<EOF
<ConfigRoot>
  <service>
    <id>rhttpproxy-sysin</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8443</port>
    </rule>
    <rule id='0001'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8080</port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>
</ConfigRoot>
EOF

localcli network firewall refresh

5、恢复反向代理服务的默认安全强制策略。

esxcli system secpolicy domain set -n rhttpproxyDom -l enforcing
# 报错:IO error: [Errno 111] Connection refused
# 应使用 localcli,区别在于绕过 hostd
localcli system secpolicy domain set -n rhttpproxyDom -l enforcing

ESXi 8.0U1 | U2 | U3

ESXi 8.0U1 开始,修改方法完全不同了。

登录 ESXi Shell

1、在当前目录下创建一个 json 配置文件用于指定 HTTP(S) 端口值。

cat >> proxy.json << __PROXY__
{
    "proxy": {
        "http_port": 8080,
        "https_port": 8443
    }
}
__PROXY__

或者

cat > proxy.json <<EOF
{
    "proxy": {
        "http_port": 8080,
        "https_port": 8443
    }
}
EOF

2、执行如下命令配置 rhttpproxy 属性

configstorecli config current set -c esx -g services -k rhttpproxy -infile proxy.json

可选:检查配置结果

configstorecli config current get -c esx -g services -k rhttpproxy

3、重启反向代理服务

/etc/init.d/rhttpproxy restart

可选:检查服务运行状态

/etc/init.d/rhttpproxy status

4、开启防火墙规则

cat > /etc/vmware/firewall/custom-rhttpproxy <<EOF
<ConfigRoot>
  <service>
    <id>rhttpproxy-sysin</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8443</port>
    </rule>
    <rule id='0001'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8080</port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>
</ConfigRoot>
EOF

localcli network firewall refresh

ESXi 9.0 | 9.1

登录 ESXi Shell

1、在当前目录下创建一个 json 配置文件用于指定 HTTP(S) 端口值。

cat >> proxy.json << __PROXY__
{
    "proxy": {
        "http_port": 8080,
        "https_port": 8443
    }
}
__PROXY__

或者

cat > proxy.json <<EOF
{
    "proxy": {
        "http_port": 8080,
        "https_port": 8443
    }
}
EOF

2、执行如下命令配置 rhttpproxy 属性

configstorecli config current set -c esx -g services -k rhttpproxy -infile proxy.json

可选:检查配置结果

configstorecli config current get -c esx -g services -k rhttpproxy

3、重启反向代理服务

/etc/init.d/rhttpproxy restart

可选:检查服务运行状态

/etc/init.d/rhttpproxy status

4、开启防火墙规则

cat > /etc/vmware/firewall/custom-rhttpproxy <<EOF
<ConfigRoot>
  <service>
    <id>rhttpproxy-sysin</id>
    <rule id='0000'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8443</port>
    </rule>
    <rule id='0001'>
      <direction>inbound</direction>
      <protocol>tcp</protocol>
      <porttype>dst</porttype>
      <port>8080</port>
    </rule>
    <enabled>true</enabled>
    <required>false</required>
  </service>
</ConfigRoot>
EOF

localcli network firewall refresh

更多:VMware 产品下载汇总

内容概要:本文档围绕“光伏并网逆变器序阻抗建模、扫频辨识与弱电网交互稳定性分析”展开,提供基于MatlabSimulink的完整代码与仿真模型,复现了相关博士论文的核心研究成果。内容聚焦于新能源发电系统接入弱电网时的稳定性问题,系统阐述了光伏逆变器的正负序阻抗建模方法、小信号扫频辨识技术、锁相环与电流环的动态耦合效应、LCL滤波器的作用机制以及系统宽频带振荡的失稳机理。通过构建精确的序阻抗模型并结合扫频法进行稳定性判据分析,深入揭示并网逆变器与弱电网间的交互特性,为实际工程中振荡问题的预测、诊断与抑制提供坚实的理论支撑与有效的技术路径。; 适合人群:具备电力电子、自动控制理论及新能源发电系统基础知识,正在从事相关领域研究的硕士/博士研究生、高校科研人员以及电力系统行业的工程师。; 使用场景及目标:①复现并验证博士论文中关于光伏逆变器序阻抗建模与弱电网交互稳定性的关键结论;②作为科研项目或学位论文的技术蓝本,开展弱电网环境下并网系统稳定性仿真与机理研究;③深入掌握Matlab/Simulink在电力系统小信号稳定性分析、特别是阻抗建模与扫频法应用方面的高级仿真技能。; 阅读建议:学习者应结合所提供的Matlab代码与Simulink仿真模型,亲手运行并调试扫频辨识程序,细致分析序阻抗建模的每一步推导与实现过程,重点关注锁相环动态特性对系统稳定裕度的影响,通过调整控制器参数与电网强度观察系统响应变化,从而深刻理解交互失稳的内在机理,实现从理论到实践的融会贯通。
内容概要:本文介绍了如何利用有限元分析获得的磁通链接图来建立永磁同步电机(PMSM)的高精度数学模型,并在Simulink环境中实现仿真。该方法通过精确捕捉电机内部复杂的磁场分布,克服传统建模中因理想化假设导致的精度不足问题,从而显著提升模型的真实性与可靠性。文中系统阐述了从有限元仿真数据提取、磁链特性曲线拟合到导入Simulink构建动态仿真模型的完整流程,重点强调了数据处理的关键步骤与模型参数的映射关系,为高性能电机控制算法的设计、验证与优化提供了高保真的仿真平台。; 适合人群:具备电机学、电磁场理论基础及Simulink/MATLAB仿真能力的高校研究生、科研院所研究人员以及从事电机控制与电力电子系统开发的工程技术专家。; 使用场景及目标:①用于高校科研机构开展先进PMSM控制策略(如FOC、MPC)的研究与教学实验;②服务于工业界对高精度电机数字孪生模型的需求,支持新型电机驱动系统的快速原型开发与性能测试;③帮助研究人员深入探究PMSM的非线性特性(如饱、交叉耦合)及其对系统动态性能的影响。; 阅读建议:建议读者结合具体的电机设计参数与应用场景,严格按照文中所述的数据处理与建模流程进行实践操作,特别注意有限元软件与Simulink之间的数据接口规范与单位一致性,确保物理信息的无损转换。同时,可进一步通过实验数据对仿真模型进行校准与验证,以评估其在不同工况下的准确性与鲁棒性。
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 ### 统计字符串中数字、字母空格的个数 #### 知识点解析 在计算机科学领域,字符串的处理是一项基础且常见的操作。本实例旨在通过一个具体案例,阐释如何统计输入字符串内不同类型字符(包括数字、字母及空格)的出现频次。这对于编程初学者而言,是一个极佳的学习任务,能够帮助他们深入掌握字符编码机制、条件分支处理以及循环结构等核心概念。 #### 题目描述 任务要求开发一个程序,该程序能够接收一个不超过50字符长度的字符串作为输入,并统计其中各类字符的数量。这项任务涉及对字符串进行操作的基础技能,涵盖字符类型的识别计数过程。 #### 解题思路与算法分析 1. **输入**: - 接收一个长度限制在50字符以内的字符串。 2. **输出**: - 分别展示字符串中数字、字母空格的具体计数。 3. **解题步骤**: - **初始化计数器**:设立三个整型变量`a`、`b`、`c`分别用于记录数字、字母空格的数量,初始值设定为零。 - **读取字符串**:借助`gets()`函数获取一行输入的字符串。 - **遍历字符串**:运用`for`循环逐个检查字符串中的字符。 - **检查字符类型**: - 当字符属于数字(ASCII码范围介于48至57之间),则将`a`的值加一。 - 当字符为英文字母(ASCII码范围在65至90或97至122之间),则将`b`的值加一。 - 当字符为空格(ASCII码值为32),则将`c`的值加一。 - **输出结果**:利用`printf()`函数按照指定格式输出每个计数器的数值。 4. **代码实现**: ```c #include<stdi...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值