Windows 下安装为系统服务和配置IIS反向代理 - yumao233/MCSManager-v8.7 GitHub Wiki

本页告知您如何在 Windows下安装后设置为系统服务并提供IIS反向代理。

本文来自于:CreeperKong

安装为服务

  1. 首先确保Node.js环境已经安装好,MCSManager已经能够以命令行程序形式启动。
  2. 下载WinSW服务安装工具 https://github.com/winsw/winsw/releases/latest,开始安装服务前按照自己所下载版本安装 .NET Framework 4.8 或者 Windows Desktop Runtime 5
  3. 将WinSW可执行文件命名为mcsm.exe,放入mcsm目录,并在该目录新建mcsm.xml写入以下内容
<service>
  <id>mcsm</id>
  <name>MCSManager (powered by WinSW)</name>
  <description>MCSManager Service</description>
  <executable>node_app.exe</executable>
  <arguments>app.js</arguments>
</service>
  1. 在该目录打开命令行,运行mcsm.exe install mcsm.xml,会提示服务安装成功。
  2. 打开服务管理程序或者使用命令行对mcsm服务进行管理

进阶权限配置

  • 安装完服务以后,服务默认以SYSTEM用户运行,包括MCSM及服务端都拥有系统最高权限,存在一定隐患,如果不想这样,可以新建一个Windows用户,把MCSM目录的所有权限给予该用户,若不希望这个用户登录图形界面,可以打开计算机管理将其从Users组中移除。完成后在服务管理程序中修改MCSM服务登录属性为该用户即可。

IIS反向代理配置

安装 IIS

  1. 打开服务器管理器,选择添加角色和功能(较旧版本的Windows Server操作系统需要在侧栏选择角色后,单击添加角色)。安装时需要在应用程序开发中选择WebSocket 协议
  2. 下载 URL RewriteAPR 插件并安装。

配置反向代理

  1. 打开IIS管理器,添加合适的站点配置。
  2. 在左侧栏选择当前服务器,双击Application Request Routing Cache,在右侧栏点击Server Proxy Settings...,勾选Enable Proxy然后应用。
  3. 在网站根目录打开或者新建web.config,替换为以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="mcsm-in">
                    <match url="^(.*)" />
                    <action type="Rewrite" url="http://localhost:23333/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

HTTPS配置

如需HTTPS代理,打开mcsm目录的public\common,编辑URL.js文件

编辑前:

//Ws 默认协议
MCSERVER.WS_PROTOCOL = "ws://";
//HTTP 默认协议
MCSERVER.HTTP_PROTOCOL = "http://";

编辑后:

//Ws 默认协议
MCSERVER.WS_PROTOCOL = "wss://";
//HTTP 默认协议
MCSERVER.HTTP_PROTOCOL = "https://";

此时MCSM将无法通过未加密的http协议登录,请配置HSTS或重定向等以免发生问题。

⚠️ **GitHub.com Fallback** ⚠️