Deploy RichTextBox to IIS, Azure App Service, Linux with nginx, or Docker containers.
Before You Deploy
RichTextBox.lic is included in the publish output (content root)
wwwroot/uploads directory exists and is writable by the app pool identity
app.UseStaticFiles() is called before app.MapRichTextBoxUploads()
Maximum request body size is configured for large file uploads
Option 1
Publish the application and configure IIS with the ASP.NET Core Hosting Bundle. Set maxAllowedContentLength in web.config for large uploads.
dotnet publish -c Release -o ./publishAdd to web.config for uploads larger than 30 MB:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
</system.webServer>Option 2
Deploy using Visual Studio Publish, Azure CLI, or GitHub Actions. Ensure the license file is included in the publish output.
az webapp deploy --resource-group MyGroup \
--name my-richtextbox-app \
--src-path ./publish.zipFor persistent upload storage, consider mounting Azure Blob Storage or using a custom storage provider instead of the default local file system.
Option 3
Run Kestrel behind an nginx reverse proxy. Configure client_max_body_size for large uploads.
server {
listen 80;
server_name example.com;
client_max_body_size 50M;
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}Configuration
Configure Kestrel to accept large upload requests in Program.cs:
builder.WebHost.ConfigureKestrel(options =>
{
options.Limits.MaxRequestBodySize = 50 * 1024 * 1024; // 50 MB
});