Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 10 de cet article.
Avertissement
Cette version d'ASP.NET Core n'est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 10 de cet article.
Cet article explique comment héberger et déployer Blazor WebAssembly à l’aide d’Apache.
Pour déployer une Blazor WebAssembly application sur Apache :
Créez le fichier de configuration Apache. L’exemple suivant est un fichier de configuration simplifié (blazorapp.config) :
<VirtualHost *:80>
ServerName www.example.com
ServerAlias *.example.com
DocumentRoot "/var/www/blazorapp"
ErrorDocument 404 /index.html
AddType application/wasm .wasm
<Directory "/var/www/blazorapp">
Options -Indexes
AllowOverride None
</Directory>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/octet-stream
AddOutputFilterByType DEFLATE application/wasm
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>
ErrorLog /var/log/httpd/blazorapp-error.log
CustomLog /var/log/httpd/blazorapp-access.log common
</VirtualHost>
Créez le fichier de configuration Apache. L’exemple suivant est un fichier de configuration simplifié (blazorapp.config) :
<VirtualHost *:80>
ServerName www.example.com
ServerAlias *.example.com
DocumentRoot "/var/www/blazorapp"
ErrorDocument 404 /index.html
AddType application/wasm .wasm
AddType application/octet-stream .dll
<Directory "/var/www/blazorapp">
Options -Indexes
AllowOverride None
</Directory>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE application/octet-stream
AddOutputFilterByType DEFLATE application/wasm
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>
</IfModule>
ErrorLog /var/log/httpd/blazorapp-error.log
CustomLog /var/log/httpd/blazorapp-access.log common
</VirtualHost>
Placez le fichier de configuration Apache dans le /etc/httpd/conf.d/ répertoire.
Placez les ressources publiées de l’application (/bin/Release/{TARGET FRAMEWORK}/publish/wwwroot, où le {TARGET FRAMEWORK} est l'infrastructure cible) dans le répertoire /var/www/blazorapp (emplacement spécifié par DocumentRoot dans le fichier de configuration).
Redémarrez le service Apache.
Pour plus d’informations, consultez mod_mime et mod_deflate.
Déploiement hébergé sur Linux (Apache)
Configurez l'application avec ForwardedHeadersOptions pour transférer les en-têtes X-Forwarded-For et X-Forwarded-Proto en suivant les instructions de Configurer ASP.NET Core pour travailler avec les serveurs proxy et les équilibreurs de charge.
Pour plus d’informations sur la définition du chemin de base de l’application, y compris la configuration du chemin d’accès de sous-application, consultez ASP.NET chemin de base de l’application CoreBlazor.
L’exemple suivant héberge l’application à une URL racine (aucun chemin d’accès de sous-application) :
<VirtualHost *:*>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
ProxyPassMatch ^/_blazor/(.*) http://localhost:5000/_blazor/$1
ProxyPass /_blazor ws://localhost:5000/_blazor
ServerName www.example.com
ServerAlias *.example.com
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
Pour configurer le serveur pour héberger l’application sur un chemin d’accès de sous-application, l’espace {PATH} réservé dans l’ensemble suivant est le chemin d’accès de la sous-application :
<VirtualHost *:*>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:5000/{PATH}
ProxyPassReverse / http://localhost:5000/{PATH}
ProxyPassMatch ^/_blazor/(.*) http://localhost:5000/{PATH}/_blazor/$1
ProxyPass /_blazor ws://localhost:5000/{PATH}/_blazor
ServerName www.example.com
ServerAlias *.example.com
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
Pour une application qui répond aux demandes à l’adresse /blazor :
<VirtualHost *:*>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:5000/blazor
ProxyPassReverse / http://localhost:5000/blazor
ProxyPassMatch ^/_blazor/(.*) http://localhost:5000/blazor/_blazor/$1
ProxyPass /_blazor ws://localhost:5000/blazor/_blazor
ServerName www.example.com
ServerAlias *.example.com
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>
Ressources supplémentaires
- Documentation Apache
- Développeurs sur des forums de support non-Microsoft :