Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Opmerking
Dit is niet de nieuwste versie van dit artikel. Zie de .NET 9-versie van dit artikelvoor de huidige release.
Waarschuwing
Deze versie van ASP.NET Core wordt niet meer ondersteund. Zie de .NET- en .NET Core-ondersteuningsbeleidvoor meer informatie. Zie de .NET 9-versie van dit artikelvoor de huidige release.
Belangrijk
Deze informatie heeft betrekking op een pre-releaseproduct dat aanzienlijk kan worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Zie de .NET 9-versie van dit artikelvoor de huidige release.
In dit artikel wordt uitgelegd hoe u met Apache kunt hosten en implementerenBlazor WebAssembly.
Een Blazor WebAssembly-app implementeren in Apache:
Maak het Apache-configuratiebestand. Het volgende voorbeeld is een vereenvoudigd configuratiebestand (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>
Maak het Apache-configuratiebestand. Het volgende voorbeeld is een vereenvoudigd configuratiebestand (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>
Plaats het Apache-configuratiebestand in de /etc/httpd/conf.d/ map.
Plaats de gepubliceerde assets van de app (/bin/Release/{TARGET FRAMEWORK}/publish/wwwroot, waarbij de tijdelijke aanduiding {TARGET FRAMEWORK} het doelframework is) in de /var/www/blazorapp map (de locatie die is opgegeven voor DocumentRoot in het configuratiebestand).
Start de Apache-service opnieuw op.
Zie voor meer informatie mod_mime en mod_deflate.
Gehoste implementatie in Linux (Apache)
Configureer de app met ForwardedHeadersOptions om de X-Forwarded-For- en X-Forwarded-Proto-headers door te sturen, door de richtlijnen in te volgen en ASP.NET Core te configureren om met proxyservers en load balancers te werken.
Zie voor meer informatie over het instellen van het basispad van de app, inclusief configuratie van het pad voor sub-apps, basispad van de ASP.NET Core-appBlazor.
In het volgende voorbeeld wordt de app gehost op een hoofd-URL (geen pad naar de sub-app):
<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>
Om de server te configureren zodat de app op een sub-app-pad wordt gehost, is de {PATH} plaatsaanduiding in de volgende vermeldingen het pad van de sub-app.
<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>
Voor een app die reageert op aanvragen op /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>
Aanvullende bronnen
- Apache-documentatie
 - Ontwikkelaars op niet-Microsoft-ondersteuningsforums: