fix: update Caddyfile generation and add /etc/hosts entries for emulator endpoints

This commit is contained in:
2026-03-24 09:58:35 +01:00
parent 149f8a30eb
commit 8c454fa2fc
2 changed files with 10 additions and 6 deletions

View File

@@ -1,33 +1,30 @@
# Caddyfile for Azure Storage Emulator
__ACCOUNT_NAME__.blob.core.windows.net {
tls __AZURITE_STORAGE__/__ACCOUNT_NAME___cert.pem __AZURITE_STORAGE__/__ACCOUNT_NAME___key.pem
reverse_proxy https://127.0.0.1:10000 {
reverse_proxy https://__ACCOUNT_NAME__.blob.core.windows.net:10000 {
transport http {
tls
tls_trust_pool file __AZURITE_STORAGE__/ca_cert.pem
tls_server_name __ACCOUNT_NAME__.blob.core.windows.net
}
}
}
__ACCOUNT_NAME__.queue.core.windows.net {
tls __AZURITE_STORAGE__/__ACCOUNT_NAME___cert.pem __AZURITE_STORAGE__/__ACCOUNT_NAME___key.pem
reverse_proxy https://127.0.0.1:10001 {
reverse_proxy https://__ACCOUNT_NAME__.queue.core.windows.net:10001 {
transport http {
tls
tls_trust_pool file __AZURITE_STORAGE__/ca_cert.pem
tls_server_name __ACCOUNT_NAME__.queue.core.windows.net
}
}
}
__ACCOUNT_NAME__.table.core.windows.net {
tls __AZURITE_STORAGE__/__ACCOUNT_NAME___cert.pem __AZURITE_STORAGE__/__ACCOUNT_NAME___key.pem
reverse_proxy https://127.0.0.1:10002 {
reverse_proxy https://__ACCOUNT_NAME__.table.core.windows.net:10002 {
transport http {
tls
tls_trust_pool file __AZURITE_STORAGE__/ca_cert.pem
tls_server_name __ACCOUNT_NAME__.table.core.windows.net
}
}
}

View File

@@ -40,6 +40,13 @@ done
if [[ -n "$NO_CADDY" ]]; then
HOST_ARGS=("--blobHost" "0.0.0.0" "--queueHost" "0.0.0.0" "--tableHost" "0.0.0.0")
else
# Create /etc/hosts entries for the emulator endpoints, so that they can be accessed via their standard Azure Storage hostnames.
ALTNAMES=()
for name in blob queue table; do
ALTNAMES+=("${ACCOUNT_NAME}.${name}.core.windows.net")
done
echo "127.0.0.1 ${ALTNAMES[@]}" >> /etc/hosts
# Generate a Caddyfile configuration based on the account name and storage directory.
sed -E "s/__ACCOUNT_NAME__/${ACCOUNT_NAME}/g; s|__AZURITE_STORAGE__|/storage|g" /app/Caddyfile.template > "/storage/Caddyfile"
# Start Caddy in the background to handle HTTPS requests and route them to Azurite.