IIS-node instellen
Categories:
Projects:
c2platform/phx/ansible , Ansible Win-rol ( c2platform.wincore.win)
Overzicht
Deze handleiding beschrijft het maken van een IIS-node pxd-iis en het uitrollen van
een voorbeeld ASP.NET-website uit een Git-repository
.
De node wordt aangemaakt in de PHX
Ansible-ontwikkelomgeving met
Vagrant en
Ansible.
Randvoorwaarden
- Instellen van de PHX Ontwikkelomgeving op Ubuntu 24
- Zorg dat de nodes
pxd-rproxy1enpxd-adactief zijn.
Uitrol
Voer het volgende commando uit om de node pxd-iis aan te maken en te registreren. Dit duurt ongeveer 6 minuten:
vagrant up pxd-iis
Verificatie
Gebruik
Remmina om verbinding te maken met de node en open de volgende URL:
https://iis.c2platform.org
Je ziet een pagina met de titel “Hello World”. Dit bevestigt dat de ASP.NET-toepassing correct draait. Het toont ook dat IIS is geïnstalleerd en werkt, met zowel HTTP- als HTTPS-bindingen geconfigureerd.
Certificaten worden vertrouwd in deze ontwikkelomgeving omdat de C2-certificaten zijn geïmporteerd in de Windows-vertrouwensopslag.

Je kunt ook een bureaubladsnelkoppeling gebruiken om IIS Manager te openen en de example-website, inclusief de bindingen, te inspecteren. De onderstaande afbeelding toont de HTTP- en HTTPS-bindingen die door Ansible zijn aangemaakt.

Review
Dit gedeelte legt uit hoe de IIS-node is ingericht met Vagrant en Ansible.
Vagrant
De Vagrant-definitie voor de node wordt hieronder weergegeven.
302 - name: iis
303 short_description: IIS
304 description: IIS
305 box: win2022
306 ip-address: 192.168.61.17
307 memory: 2000
308 plays:
309 - mw/iis
310 labels:
311 - iis
Ansible Play
De playbook past de AD-rol en de Windows-rol toe (er bestaat nog geen specifieke IIS-rol). De Windows-rol is krachtig genoeg om een volledige IIS-server te configureren.
---
- name: Internet Information Services (IIS)
hosts: iis
roles:
- { role: c2platform.wincore.ad, tags: ["v0"]}
- { role: c2platform.wincore.win, tags: ["windows", "setup"]}
Configuratie
Het hoofdconfiguratiebestand definieert de variabele win_resources. Deze variabele wordt door de Windows-rol gebruikt om IIS-functies te installeren, de toepassing naar de webroot te klonen, een certificaat in de lokale opslag te installeren, een toepassingsgroep en website met HTTPS-ondersteuning aan te maken en de juiste ACL’s in te stellen met de module win_acl.
---
win_resources:
2_iis:
- name: IIS Features
type: win_feature
resources:
- name: Web-Server
- name: Web-Mgmt-Tools
- name: Web-Asp-Net45
- name: Web-Net-Ext45
- name: Web-ISAPI-Ext
- name: Web-ISAPI-Filter
- name: Web-Windows-Auth
- name: Web-Basic-Auth
- name: Web-Stat-Compression
- name: Clone app # TODO C2-1412
module: win_command
cmd: >-
git clone
https://github.com/AzureWorkshops/samples-simple-iis-website.git
{{ px_apps_dir }}/example
creates: "{{ px_apps_dir }}/example"
- name: C:/ProgramData/c2-pxd-rproxy1.p12
module: win_copy
src: c2-pxd-rproxy1.p12
- name: Import cert for iis.c2platform.org
module: win_certificate_store
path: C:/ProgramData/c2-pxd-rproxy1.p12
key_storage: machine
file_type: pkcs12
3_example:
- name: Example
module: web_app_pool
attributes:
startMode: alwaysRunning
processModel.identityType: SpecificUser
processModel.userName: C2\svc-example
processModel.password: "{{ px_ad_admin_password }}"
processModel.loadUserProfile: true
managedRuntimeVersion: v4.0
managedPipelineMode: classic
- name: Example
module: website
site_id: 2
physical_path: "{{ px_apps_dir }}/example"
application_pool: Example
bindings:
set:
- hostname: iis.c2platform.org
protocol: http
port: 80
ip: 192.168.61.17
- hostname: iis.c2platform.org
protocol: https
port: 443
ip: 192.168.61.17
# use_sni: true
# use_ccs: false
certificate_hash: 21dcab6e744fe21836d2e62c992625d7574de2d3
certificate_store_name: MY
- name: Permissions app pool
module: win_acl
defaults:
# user: IIS AppPool\Example
user: C2\svc-example
rights: modify
type: allow
state: present
inherit: ContainerInherit, ObjectInherit
resources:
- path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
- path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
- name: Example
module: iis_hsts
max_age: 31536000
include_sub_domains: true
preload: true
enabled: true
redirect_http_to_https: false
- name: Example
module: iis_logfile
log_target_w3c: File # File ETW File,ETW
Het volgende bestand maakt handige bureaubladsnelkoppelingen, waaronder één naar IIS Manager en één naar de website die draait op iis.c2platform.org.
---
win_resources:
0_iis_dev:
- name: Shortcuts
type: win_shortcut
resources:
- name: IIS Manager
dest: '%Public%\Desktop\Internet Information Services (IIS) Manager.lnk'
src: '%windir%\system32\inetsrv\InetMgr.exe'
- name: Default Website
dest: '%Public%\Desktop\localhost.lnk'
src: C:\Program Files\Mozilla Firefox\firefox.exe
arguments: http://localhost -profile "C:\vagrant\tmp\firefox-profile"
- name: IIS Example Application
dest: '%Public%\Desktop\iis.c2platform.org.lnk'
src: C:\Program Files\Mozilla Firefox\firefox.exe
arguments: https://iis.c2platform.org -profile "C:\vagrant\tmp\firefox-profile"
Aanvullende informatie
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.