Creer un CDN avec IIS
Une chose que j'ai apprise est que le téléchargement d'actifs (contenue statique) ne devrait pas gêner les performances de votre serveur.
cf ... l'intro de CDN avec Nginx
IIS est un serveur Web tout comme Nginx , ou encore Apache.
Nous sommes bien d'accord que IIS n'est pas le meilleur dans la tache de
CDN, cependant ce tutos est juste la pour montrer la faisabilité.
il faut configurer IIS, déplacer tous les actifs sur le serveur et configurer le dns.
Une fois votre CDN configuré correctement. Vous pouvez rendre votre dossier d'assets accessibles depuis votre machine.
De cette façon, votre master se reflète automatiquement sur le serveur cdn.
Mis en Place
- creer domaine dans IIS : {Domain}.{ccTLD}
- creer sous- domaine dans IIS : cdn.{Domain}.{ccTLD}
- creer dossier partagé {Domain}.{ccTLD} /uploads -> cdn.{Domain}.{ccTLD}/uploads
Web.config pour cdn.{Domain}.{ccTLD}
<
configuration
>
<
system.webServer
>
<
staticContent
>
<
clientCache
cacheControlMode
=
"UseMaxAge"
cacheControlMaxAge
=
"365.00:00:00"
/>
</
staticContent
>
<
profiles
>
<
add
extension
=
".jpg"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".jpeg"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".gif"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".png"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".js"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".css"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".ttf"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".eot"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".woff"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
<
add
extension
=
".woff2"
policy
=
"CacheUntilChange"
kernelCachePolicy
=
"CacheUntilChange"
/>
</
profiles
>
</
caching
>
</
system.webServer
>
</
configuration
>
https://learn.microsoft.com/en-us/iis/configuration/system.webserver/caching/
https://learn.microsoft.com/en-us/iis/configuration/system.webserver/staticcontent/