目錄

為 ASP.NET Core 部署 AcuSensor

在 ASP.NET core 網站中部署 AcuSensor

如要將 AcuSensor agent 需要部署到您要掃描的網站根目錄下,首先,您需要先在您要掃描的目標中下載 AcuSensor agent。本節將介紹如何將 AcuSensor 部署到使用 ASP.NET Core 開發的 Web 應用程式中。

準備 .NET core 專屬的 AcuSensor

  • 建立一個存放您的 AcuSensor 的資料夾;本節的例子中,我們假設存放的資料夾是 C:\acusensor
  • 對您下載的 dotnet-acusensor.zip 點右鍵
    Right-click on your downloaded AcuSensor ZIP file
  • 選擇 解壓縮全部 之功能選項
    Click on the Extract All… option
  • 選擇目標資料夾並點選 解壓縮
  • 瀏覽到解壓縮的目標資料夾後進入 .NET Core 之子資料夾
  • 選取子資料夾內的所有檔案後點擊右鍵 -> 複製
    Select all the items inside the subfolder, right-click on them and select Copy
  • 瀏覽到 C:\acusensor 資料夾,在這個視窗內點擊右鍵 -> 貼上
    Navigate to the web root folder, right-click in the window and select the Paste option


使用 Kestrel 作為網站伺服器並為 .NET Core 進行部屬

注意事項:不能與 IIS 伺服器同時使用,若使用 IIS 做為網站伺服器,請忽略此區塊

  • 使用檔案總管瀏覽到要部屬的網站根目錄
    Navigate to your web application root folder
  • 在網站根目錄中建立名為 sitelauncher.bat 的檔案,並貼上下列內容:
    SET CORECLR_ENABLE_PROFILING=1
    SET CORECLR_PROFILER={7EF83539-BAB0-44D1-8E8C-48E6EC9938FA}
    SET CORECLR_PROFILER_PATH=C:/acusensor/SensorProfiler.dll
    SET SENSOR_SETTINGS_PATH=C:/acusensor/settings.ini
    axexample-dotnetcore.exe --urls http://0.0.0.0:80
  • 黑色粗體字為假設 axexample-dotnetcore.exe 是您的 Web 應用程式可執行檔
  • 從命令列瀏覽到您的網站根目錄下並執行 sitelauncher.bat
    Navigate to your web application root folder

使用 IIS 作為網站伺服器並為 .NET Core 進行部屬

注意事項:不能與 Kestrel 伺服器同時使用,若使用 Kestrel 做為網站伺服器,請忽略此區塊

  • 使用檔案總管瀏覽到要部屬的網站根目錄
    Navigate to your web application root folder
  • 編輯您的 web.config 文件以添加 AcuSensor 的環境變數:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <handlers>
            <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
          </handlers>
          <aspNetCore processPath="dotnet" arguments=".\axexample-dotnetcore.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess">
            <environmentVariables>
              <environmentVariable name="CORECLR_PROFILER_PATH" value="C:/acusensor/SensorProfiler.dll" />
              <environmentVariable name="CORECLR_ENABLE_PROFILING" value="1" />
              <environmentVariable name="CORECLR_PROFILER" value="{7EF83539-BAB0-44D1-8E8C-48E6EC9938FA}" />
              <environmentVariable name="SENSOR_INCLUDE_EXE" value="iisexpress.exe;w3wp.exe" />
              <environmentVariable name="SENSOR_SETTINGS_PATH" value="C:/acusensor/settings.ini" />
            </environmentVariables>

          </aspNetCore>
        </system.webServer>
      </location>
    </configuration>
    <!--ProjectGuid: 16505b2e-7499-4c97-a9ff-d18e39913ad5-->
  • 在 IIS 管理器中重啟網站
    Restart your web application from IIS Manager