閱讀英文

共用方式為


網站資源

網站是 IIS 的核心實體,可決定要求處理的位置和方式。 網站 API 可讓取用者建立、讀取、刪除或更新其網站。 這適用於編寫自動化部署的腳本,或對現有資源進行變更。

GET/api/webserver/websites/{id}

{
    "name": "Default Web Site",
    "id": "{id}",
    "physical_path": "%SystemDrive%\\inetpub\\wwwroot",
    "key": "1",
    "status": "started",
    "server_auto_start": "true",
    "enabled_protocols": "http",
    "limits": {
        "connection_timeout": "120",
        "max_bandwidth": "4294967295",
        "max_connections": "4294967295",
        "max_url_segments": "32"
    },
    "bindings": [
        {
            "protocol": "https",
            "binding_information": "*:443:",
            "ip_address": "*",
            "port": "443",
            "hostname": "",
            "certificate": {
                "name": "Web Hosting Certificate",
                "id": "{certificate_id}",
                "issued_by": "CN=localhost",
                "subject": "CN=localhost",
                "thumbprint": "2F6C0E796B8DAC4A1DDBF59F1714A19D9520B88A",
                "valid_to": "2022-01-09T00:00:00Z"
            },
            "require_sni": "false"
        },
        {
            "protocol": "http",
            "binding_information": "*:80:",
            "ip_address": "*",
            "port": "80",
            "hostname": ""
        },
        {
            "protocol": "net.tcp",
            "binding_information": "808:*"
        }
    ],
    "application_pool": {
        "name": "DefaultAppPool",
        "id": "{application_pool_id}",
        "status": "started"
    },
    "_links": {
        "authentication": {
            "href": "/api/webserver/authentication/{authentication_id}"
        },
        "authorization": {
            "href": "/api/webserver/authorization/{authorization_id}"
        },
        "default_document": {
            "href": "/api/webserver/default-documents/{default_document_id}"
        },
        "delegation": {
            "href": "/api/webserver/feature-delegation?website.id={id}"
        },
        "directory_browsing": {
            "href": "/api/webserver/directory-browsing/{directory_browsing_id}"
        },
        "files": {
            "href": "/api/webserver/files/{files_id}"
        },
        "handlers": {
            "href": "/api/webserver/http-handlers/{handlers_id}"
        },
        "ip_restrictions": {
            "href": "/api/webserver/ip-restrictions/{ip_restrictions_id}"
        },
        "logging": {
            "href": "/api/webserver/logging/{logging_id}"
        },
        "modules": {
            "href": "/api/webserver/http-modules/{modules_id}"
        },
        "request_filtering": {
            "href": "/api/webserver/http-request-filtering/{request_filtering_id}"
        },
        "request_monitor": {
            "href": "/api/webserver/http-request-monitor/requests?website.id={request_monitor_id}"
        },
        "request_tracing": {
            "href": "/api/webserver/http-request-tracing/{request_tracing_id}"
        },
        "response_compression": {
            "href": "/api/webserver/http-response-compression/{response_compression_id}"
        },
        "response_headers": {
            "href": "/api/webserver/http-response-headers/{response_headers_id}"
        },
        "ssl": {
            "href": "/api/webserver/ssl-settings/{ssl_id}"
        },
        "static_content": {
            "href": "/api/webserver/static-content/{static_content_id}"
        },
        "vdirs": {
            "href": "/api/webserver/virtual-directories?website.id={id}"
        },
        "webapps": {
            "href": "/api/webserver/webapps?website.id={id}"
        }
    }
}

網站系結

網站的系結會決定網站將接聽的埠、通訊協定和主機名。 至少,系結必須指定通訊協定、ip adddress 和埠。 binding_information 屬性可用來指定ip位址、埠和主機名。 HTTP 和 HTTPS 通訊協定的 binding_information 格式為 '{ip_address}:{port}:{hostname}'。 HTTPS 系結需要憑證。

建立網站

建立網站需要實體路徑來儲存網站、網站的名稱,以及網站應該接聽的一組系結。

建立已啟用 HTTP 的網站

建立接聽埠 8081 的網站。 POST/api/webserver/websites

{
    "name": "Demonstration Site",
    "physical_path": "C:\\inetpub\\wwwroot\\DemonstrationSite",
    "bindings": [
        {
            "protocol": "HTTP",
            "port": "8081",
            "ip_address": *
        }
    ]
}

建立已啟用 HTTPS 的網站

若要使用 HTTPS 系結建立網站,必須在系結物件中提供憑證。 憑證是透過 /api/certificates 端點提供的資源。 若要在系結中指定所需的憑證,請新增憑證資源,並指定憑證 標識子,如下所示。

建立網站,以接聽埠 8082 上的 HTTPS 要求。 POST/api/webserver/websites

{
    "name": "Demonstration Site",
    "physical_path": "C:\\inetpub\\wwwroot\\DemonstrationSite",
    "bindings": [
        {
            "protocol": "HTTPS",
            "port": "8082",
            "ip_address": *,
            "certificate": {
                "id": {certificate_id}
            }
        }
    ]
}

在特定應用程式集區中建立

若要指定網站應該建立的應用程式集區,請將 application_pool 屬性新增至要求的本文。 應用程式集區只能透過其 識別碼 屬性來識別。

建立特定應用程式集區的網站。 POST/api/webserver/websites

{
    "name": "Demonstration Site",
    "physical_path": "C:\\inetpub\\wwwroot\\DemonstrationSite",
    "bindings": [
        {
            "protocol": "HTTP",
            "port": "8081",
            "ip_address": *
        }
    ],
    "application_pool": {
        "id": {application_pool_id}
    }
}

更新網站

更新網站是透過修補要求完成的。 傳送具有所需狀態的網站修補要求將會更新伺服器上的網站以符合。

新增系結

更新網站的常見原因是新增系結。 例如,假設埠 80 上有一個具有單一系結的網站,而我們想要新增接聽埠 8080 的系結。 我們應該傳送修補程式要求,其中包含 系結 清單,其中包含我們想要的系結。 由於 系結 屬性是清單,因此應該在要求中傳送已存在於網站上的系結,以免遺失這些系結。

將系結新增至網站。 PATCH/api/webserver/websites/{id}

{
    "bindings": [
        {
            "protocol": "HTTP",
            "port": "80",
            "ip_address": *
        },
        {
            "protocol": "HTTP",
            "port": "8080",
            "ip_address": *
        }
    ]
}