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/