Skip to content

Custom Domain Setup

Das Einrichten einer benutzerdefinierten Domain für Ihre Dockit-Dokumentationsseite trägt zur Etablierung Ihrer Markenidentität bei und sorgt für ein professionelles Erscheinungsbild. Dieser Leitfaden behandelt den gesamten Prozess der Konfiguration benutzerdefinierter Domänen auf verschiedenen Hosting-Plattformen.

Mit einer benutzerdefinierten Domain können Sie Ihre Dokumentation über Ihre eigene Marken-URL bereitstellen, anstatt über die Standard-Hosting-Provider-Subdomain. Zum Beispiel:

  • Standard: your-docs.netlify.app oder your-docs.vercel.app
  • Custom: docs.yourcompany.com or help.yourcompany.com

Stellen Sie vor dem Einrichten einer benutzerdefinierten Domäne sicher, dass Sie über Folgendes verfügen:

  1. Domänenbesitz: Sie besitzen oder kontrollieren die Domäne, die Sie verwenden möchten
  2. DNS-Zugriff: Möglichkeit, DNS-Einträge für Ihre Domain zu ändern
  3. Bereitgestellte Site: Ihre Dockit-Site ist bereits bereitgestellt und funktioniert
  4. SSL certificate: HTTPS support (usually provided automatically)

Die Verwendung einer Subdomain ist der gebräuchlichste und empfohlene Ansatz:

docs.yourcompany.com
help.yourcompany.com
support.yourcompany.com
knowledge.yourcompany.com

Sie können auch Ihre Stammdomäne verwenden, dies erfordert jedoch zusätzliche Überlegungen:

yourcompany.com
yourdocs.com

Dokumentation aus einem bestimmten Pfad bereitstellen:

yourcompany.com/docs
yourcompany.com/help
  1. Gehen Sie im Netlify-Dashboard zu den Site-Einstellungen Ihrer Site
  2. Navigate to Domain managementCustom domains
  3. Click Add custom domain
  4. Geben Sie Ihre Domain ein (z. B. docs.yourcompany.com)

Fügen Sie einen CNAME-Eintrag bei Ihrem DNS-Anbieter hinzu:

Type: CNAME
Name: docs (or your chosen subdomain)
Value: your-site-name.netlify.app
TTL: 3600 (or Auto)

Netlify automatically provisions SSL certificates through Let’s Encrypt:

  1. Warten Sie auf die DNS-Weitergabe (bis zu 24 Stunden).
  2. Das SSL-Zertifikat wird automatisch ausgestellt
  3. Force HTTPS redirect in Site SettingsHTTPS

Erstellen Sie eine _redirects-Datei in Ihrem public/-Verzeichnis:

public/_redirects
# Force HTTPS
http://docs.yourcompany.com/* https://docs.yourcompany.com/:splat 301!
# Redirect old paths
/old-docs/* /new-docs/:splat 301
/v1/* /latest/:splat 301
# SPA fallback
/* /index.html 200
  1. Gehen Sie zu Ihrem Projekt-Dashboard
  2. Navigate to SettingsDomains
  3. Geben Sie Ihre benutzerdefinierte Domäne ein
  4. Wählen Sie den Bereitstellungszweig

Fügen Sie für Subdomains einen CNAME-Eintrag hinzu:

Type: CNAME
Name: docs
Value: cname.vercel-dns.com

Fügen Sie für Stammdomänen A-Einträge hinzu:

Type: A
Name: @
Value: 76.76.19.61
Type: A
Name: @
Value: 76.76.19.62

Vercel verifiziert Ihre Domain automatisch und stellt SSL-Zertifikate aus.

{
"redirects": [
{
"source": "/old-path",
"destination": "/new-path",
"permanent": true
}
],
"headers": [
{
"source": "/(.*)",
"headers": [
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-Frame-Options",
"value": "DENY"
},
{
"key": "X-XSS-Protection",
"value": "1; mode=block"
}
]
}
]
}
  1. Go to repository SettingsPages
  2. Select source (usually main branch)
  3. Fügen Sie im Feld Benutzerdefinierte Domäne eine benutzerdefinierte Domäne hinzu

Erstellen Sie eine CNAME-Datei in Ihrem Repository-Stammverzeichnis oder public/-Verzeichnis:

docs.yourcompany.com

Add a CNAME record pointing to GitHub Pages:

Type: CNAME
Name: docs
Value: yourusername.github.io

GitHub Pages stellt automatisch SSL-Zertifikate für benutzerdefinierte Domänen bereit.

{
"hosting": {
"public": "dist",
"site": "your-project-id",
"cleanUrls": true,
"trailingSlash": false,
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"headers": [
{
"source": "**/*.@(jpg|jpeg|gif|png|svg|webp|js|css)",
"headers": [
{
"key": "Cache-Control",
"value": "max-age=31536000"
}
]
}
]
}
}
Terminal window
firebase hosting:channel:deploy live --only hosting
firebase hosting:site:get your-project-id

Add domain in Firebase Console:

  1. Go to Hosting section
  2. Click Add custom domain
  3. Befolgen Sie die Verifizierungsschritte

Fügen Sie die bereitgestellten DNS-Einträge aus der Firebase-Konsole hinzu.

Type: CNAME
Name: docs
Content: your-site.netlify.app
Proxy status: Proxied (orange cloud)
TTL: Auto

Additional Cloudflare settings:

  • SSL/TLS: Full (strict)
  • Always Use HTTPS: On
  • Automatic HTTPS Rewrites: On
Type: CNAME
Name: docs
Data: your-site.netlify.app.
TTL: 1 hour
Type: CNAME Record
Host: docs
Value: your-site.netlify.app
TTL: Automatic
{
"Type": "CNAME",
"Name": "docs.yourcompany.com",
"Value": "your-site.netlify.app",
"TTL": 300
}

Most modern hosting platforms provide automatic SSL:

  • Netlify: Let’s Encrypt (automatic)
  • Vercel: Automatic SSL provisioning
  • GitHub-Seiten: Automatisch für benutzerdefinierte Domänen
  • Firebase: Google-managed certificates

Für erweiterte Setups benötigen Sie möglicherweise eine manuelle SSL-Konfiguration:

server {
listen 443 ssl http2;
server_name docs.yourcompany.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers off;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

Konfigurieren Sie mehrere Domänen für dieselbe Site:

netlify.toml
[[redirects]]
from = "https://old-docs.com/*"
to = "https://docs.yourcompany.com/:splat"
status = 301
force = true
[[redirects]]
from = "https://help.yourcompany.com/*"
to = "https://docs.yourcompany.com/:splat"
status = 301
force = true

Richten Sie verschiedene Domänen für verschiedene Sprachen ein:

docs.yourcompany.com (English)
docs-de.yourcompany.com (German)
docs-fr.yourcompany.com (French)
docs-es.yourcompany.com (Spanish)

Konfigurieren Sie CDN für eine bessere Leistung:

vercel.json
{
"functions": {
"app/api/**/*.js": {
"maxDuration": 30
}
},
"regions": ["iad1", "sfo1", "fra1"],
"github": {
"enabled": false
}
}

Enable HTTP Strict Transport Security:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self'; media-src 'self'; object-src 'none'; child-src 'self'; frame-ancestors 'none'; form-action 'self'; base-uri 'self';
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), microphone=(), camera=()
  1. Use fast DNS providers: Cloudflare, Route 53, or Google DNS
  2. Minimize DNS lookups: Reduce external resource dependencies
  3. Enable DNS prefetching: <link rel="dns-prefetch" href="//example.com">
# Static assets
Cache-Control: public, max-age=31536000, immutable
# HTML files
Cache-Control: public, max-age=0, must-revalidate
# API responses
Cache-Control: public, max-age=300, s-maxage=600

Richten Sie die Überwachung für Ihre benutzerdefinierte Domain ein:

// Basic uptime monitoring
async function checkDomainHealth() {
try {
const response = await fetch('https://docs.yourcompany.com/health');
if (response.ok) {
console.log('Domain is healthy');
} else {
console.error('Domain health check failed');
}
} catch (error) {
console.error('Domain is unreachable:', error);
}
}
setInterval(checkDomainHealth, 300000); // Check every 5 minutes
<!-- Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_TRACKING_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_TRACKING_ID', {
custom_map: {
'custom_parameter': 'dimension1'
}
});
</script>

Es kann bis zu 48 Stunden dauern, bis sich DNS-Änderungen weltweit vollständig verbreiten:

Terminal window
# Check DNS propagation
dig docs.yourcompany.com
nslookup docs.yourcompany.com

Online tools:

  • whatsmydns.net
  • dnschecker.org

Häufige SSL-Probleme und Lösungen:

  1. Mixed content errors: Ensure all resources use HTTPS
  2. Certificate mismatch: Verify domain names match certificate
  3. Expired certificates: Set up auto-renewal

Prevent infinite redirects:

# Incorrect
https://docs.yourcompany.com → https://docs.yourcompany.com
# Correct
http://docs.yourcompany.com → https://docs.yourcompany.com

Leistungsprobleme diagnostizieren und beheben:

Terminal window
# Test site speed
curl -w "@curl-format.txt" -o /dev/null -s "https://docs.yourcompany.com"
# Check response headers
curl -I "https://docs.yourcompany.com"
Terminal window
# Check A records
dig A docs.yourcompany.com
# Check CNAME records
dig CNAME docs.yourcompany.com
# Check MX records
dig MX yourcompany.com
# Trace DNS resolution
dig +trace docs.yourcompany.com
Terminal window
# Check SSL certificate
openssl s_client -connect docs.yourcompany.com:443 -servername docs.yourcompany.com
# Test SSL configuration
curl -vI https://docs.yourcompany.com

Planen Sie eine nahtlose Domänenmigration:

  1. Neue Domain vorbereiten: Einrichten und gründlich testen
  2. DNS mit niedriger TTL aktualisieren: Reduzieren Sie die Ausbreitungszeit
  3. Verkehr überwachen: Achten Sie auf etwaige Probleme
  4. Implement redirects: Guide users to new domain
  5. Update internal links: Change all references
  6. Benutzer benachrichtigen: Kommunizieren Sie die Änderung
  • Domain ownership verified
  • DNS records configured
  • SSL certificate active
  • Redirects implemented
  • Internal links updated
  • External references notified
  • Analytics tracking updated
  • SEO considerations addressed
  • Monitoring alerts configured
  • Rollback plan prepared
  1. Choose meaningful subdomains: Use clear, descriptive names
  2. Enable HTTPS everywhere: Never serve content over HTTP
  3. Monitor domain health: Set up uptime monitoring
  4. Planen Sie für Katastrophen: Halten Sie Backup-Domänen bereit
  5. Dokumentieren Sie Ihr Setup: Bewahren Sie Konfigurationsaufzeichnungen auf
  6. Regelmäßige Wartung: Konfigurationen überprüfen und aktualisieren
  7. Sicherheit geht vor: Implementieren Sie die richtigen Header und Richtlinien
  8. Leistung zählt: Optimieren Sie für Geschwindigkeit und Zuverlässigkeit

Das Einrichten einer benutzerdefinierten Domäne für Ihre Dockit-Dokumentationsseite verbessert Ihre Markenpräsenz und bietet Ihren Benutzern ein professionelles Erlebnis. Befolgen Sie die plattformspezifischen Anweisungen, implementieren Sie geeignete Sicherheitsmaßnahmen und überwachen Sie den Zustand Ihrer Domain, um die besten Ergebnisse zu erzielen.

Denken Sie daran, gründliche Tests in einer Staging-Umgebung durchzuführen, bevor Sie Änderungen an Produktionsdomänen vornehmen, und halten Sie für den Fall von Problemen immer einen Rollback-Plan bereit.

Dieses Design anfragen