-
-
Notifications
You must be signed in to change notification settings - Fork 187
SSL
HTTPS/SSL support is available in Wexflow starting from version 9.2. You can enable it for both .NET 4.8 and .NET 9.0+ versions.
You can find detailed installation instructions here.
You can install Wexflow as a Windows Service (targeting .NET Framework 4.8) using one of the following installers:
- wexflow-x.x-windows-x64.exe (64-bit)
- wexflow-x.x-windows-x86.exe (32-bit)
You can install Wexflow as a cross-platform app/service (targeting .NET 9.0+) on Windows, Linux, or macOS using one of the following packages:
- wexflow-x.x-windows-netcore.zip
- wexflow-x.x-linux-netcore.zip
- wexflow-x.x-macos-netcore.zip
Note:
Many of the operations in this guide — including installing services, managing certificates, and configuring firewalls or port bindings — require Administrator (Windows) or root (Linux/macOS) privileges.
Be sure to run your terminal or PowerShell with elevated permissions where applicable.
To generate a self-signed certificate for development:
You can test with the following endpoint: https://localhost:8000/api/v1/hello
No configuration is required to use the admin panel.
If you plan to host the admin panel on a different web server and use HTTPS for the Wexflow server, make sure the web server hosting the admin panel also uses HTTPS. This is necessary to avoid mixed content issues in modern browsers.
By default, the admin panel is available at: https://localhost:8000/
Generate .pfx certificate file.
- Install Win64 OpenSSL
- Add
C:\Program Files\OpenSSL-Win64\binto yourPATHenvironment variable - Open a PowerShell and run the following command to export your certificate to PFX:
$KEY = "C:\Wexflow-netcore\wexflow.key"
$CRT = "C:\Wexflow-netcore\wexflow.crt"
$PFX = "C:\Wexflow-netcore\wexflow.pfx"
$PASSWORD = "wexflow2018"
openssl pkcs12 -export -out $PFX -inkey $KEY -in $CRT -password pass:$PASSWORDKEY="/opt/wexflow/Wexflow/wexflow.key"
CRT="/opt/wexflow/Wexflow/wexflow.crt"
PFX="/opt/wexflow/Wexflow/wexflow.pfx"
PASSWORD="wexflow2018"
openssl pkcs12 -export -out "$PFX" -inkey "$KEY" -in "$CRT" -password pass:"$PASSWORD"KEY="/Applications/wexflow/Wexflow/wexflow.key"
CRT="/Applications/wexflow/Wexflow/wexflow.crt"
PFX="/Applications/wexflow/Wexflow/wexflow.pfx"
PASSWORD="wexflow2018"
openssl pkcs12 -export -out "$PFX" -inkey "$KEY" -in "$CRT" -password pass:"$PASSWORD"-
Self-signed certificate warning:
If you're using a self-signed certificate, browsers will show a security warning unless the certificate is explicitly trusted on your system.
Edit .\Wexflow.Server\appsettings.json:
{
"HTTPS": true,
"PfxFile": "C:\\Wexflow-netcore\\wexflow.pfx",
"PfxPassword": "wexflow2018"
}Then restart the server.
Place your PXF in /opt/wexflow/Wexflow/wexflow.pfx.
Edit /opt/Wexflow/Wexflow.Server/appsettings.json:
{
"HTTPS": true,
"PfxFile": "/opt/wexflow/Wexflow/wexflow.pfx",
"PfxPassword": "wexflow2018"
}Open Terminal and run the following command to restart wexflow service:
sudo systemctl restart wexflowPlace your PFX in /Applications/wexflow/Wexflow/wexflow.pfx.
Edit /Applications/Wexflow/Wexflow.Server/appsettings.json:
{
"HTTPS": true,
"PfxFile": "/Applications/wexflow/Wexflow/wexflow.pfx",
"PfxPassword": "wexflow2018"
}Open Terminal and run:
cd /Applications/wexflow/Wexflow.Server
dotnet Wexflow.Server.dll-
Set
HTTPSoption totrueinC:\Program Files\Wexflow\Wexflow.Server.exe.config -
Restart Wexflow Windows Service
- Open the MMC console (
Win + R, then typemmc) - Install
wexflow.crtin Trusted Root Certification Authorities (Local Computer) - Install
wexflow.pfxin Personal store (Local Computer) - Locate your SSL certificate, double-click it
- Go to the Details tab, find Thumbprint
- Copy the thumbprint and remove all spaces
$thumb = "81d53a62964240b8d2cc77b40bf7e6c758554afc"
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Thumbprint -eq $thumb }
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyPath = "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\$keyName"
$keyPathExample output:
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b" /grant *S-1-5-20:R
icacls "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\088395182206fa2acc494753b3099972_4ced353e-566d-4394-821c-bc9f487c4b5b" /grant *S-1-5-18:R- Generate a new GUID for appid in PowerShell:
New-Guid- Run the following command (replace the
certhashandappidwith your values):
netsh http add sslcert ipport=0.0.0.0:8000 certhash=81d53a62964240b8d2cc77b40bf7e6c758554afc appid="{05e46c28-0ed2-4ac0-9473-e78190a425d4}"- Verify the binding:
netsh http show sslcert ipport=0.0.0.0:8000Copyright © Akram El Assas. All rights reserved.
- Install Guide
- Migration Guide to v10.0
- HTTPS/SSL
- Screenshots
- Docker
- Configuration Guide
- Persistence Providers
- Getting Started
- Android App
- Local Variables
- Global Variables
- REST Variables
- Functions
- Cron Scheduling
- Command Line Interface (CLI)
- REST API Reference
- Samples
- Logging
- Custom Tasks
-
Built-in Tasks
- File system tasks
- Encryption tasks
- Compression tasks
- Iso tasks
- Speech tasks
- Hashing tasks
- Process tasks
- Network tasks
- XML tasks
- SQL tasks
- WMI tasks
- Image tasks
- Audio and video tasks
- Email tasks
- Workflow tasks
- Social media tasks
- Waitable tasks
- Reporting tasks
- Web tasks
- Script tasks
- JSON and YAML tasks
- Entities tasks
- Flowchart tasks
- Approval tasks
- Notification tasks
- SMS tasks
- Run from Source
- Fork, Customize, and Sync