Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
Esta não é a versão mais recente deste artigo. Para a versão atual, consulte a versão do .NET 10 deste artigo.
Aviso
Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, consulte a Política de Suporte do .NET e do .NET Core. Para informações sobre a versão vigente, confira a versão .NET 9 deste artigo.
Este artigo explica como hospedar e implantar Blazor WebAssembly usando o Apache.
Para implantar um Blazor WebAssembly aplicativo no Apache:
Crie o arquivo de configuração do Apache. O exemplo a seguir é um arquivo de configuração simplificado (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>
Crie o arquivo de configuração do Apache. O exemplo a seguir é um arquivo de configuração simplificado (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>
Coloque o arquivo de configuração do Apache no /etc/httpd/conf.d/ diretório.
Coloque os ativos publicados do aplicativo (/bin/Release/{TARGET FRAMEWORK}/publish/wwwroot, onde o espaço reservado {TARGET FRAMEWORK} é a estrutura de destino) no diretório /var/www/blazorapp (o local especificado para DocumentRoot no arquivo de configuração).
Reinicie o serviço Apache.
Para obter mais informações, consulte mod_mime e mod_deflate.
Implantação hospedada no Linux (Apache)
Configure o aplicativo com ForwardedHeadersOptions para encaminhar os cabeçalhos X-Forwarded-For e X-Forwarded-Proto seguindo as orientações em Configurar ASP.NET Core para trabalhar com servidores proxy e balanceadores de carga.
Para obter mais informações sobre como definir o caminho base do aplicativo, incluindo a configuração do caminho do subaplicativo, consulte Caminho base do aplicativo no ASP.NET CoreBlazor.
O exemplo a seguir hospeda o aplicativo em uma URL raiz (sem caminho de subaplicativo):
<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>
Para configurar o servidor para hospedar o aplicativo em um caminho de sub-aplicativo, o espaço reservado {PATH} nas seguintes entradas é o caminho do sub-aplicativo:
<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>
Para um aplicativo que responde às solicitações em /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>
Recursos adicionais
- Documentação do Apache
- Desenvolvedores em fóruns de suporte que não são da Microsoft: