2017-07-27 3 views
0

OS: Linux, CentOS Proxy: Apache Asp.NET Core-1.1ASP.NET CORE: Datenbank-Verbindung Ausgabe (SQLite) in Produktion

Problem: ich mit meiner App zu einem bestimmten Zeitpunkt bekam, als ich beschlossen Stellen Sie es auf dem echten Server bereit.

So hat alles funktioniert und funktioniert perfekt auf meinem lokalen Rechner. Ich habe keine Probleme.

Aber wenn ich es veröffentlicht und auf den Server hochgeladen habe, funktioniert es nicht so, wie ich es erwartet hatte. Und ich meine speziell die Datenbank (SQLite). Die App liest Daten aus der Datenbank wie es, aber wenn _db.SaveChangesAsync() in meinem Code erwarten, stürzt die App ab.

Ich habe überall im Internet gesucht und tat nichts, was mir helfen würde.

Bisher habe ich 3 verschiedene Ausnahmen:

  1. SQLite Fehler 8: ‚Versuch, eine Nur-Lese-Datenbank zu schreiben‘.

  2. Ich habe die Berechtigungen der db-Datei auf 777 sowie den Ordner selbst geändert, hilft nicht.

Got this: SQLite Error 14: ‚derzeit keine Datenbank-Datei öffnen.‘

  1. Wenn ich dies zu konfigurieren hinzuzufügen versucht: ( { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto } neu ForwardedHeadersOptions)

    app.UseForwardedHeaders;

erhielten diese Befreiung: warnen: Microsoft.AspNetCore.HttpOverrides.ForwardedHeadersMiddleware [1] Parameter Zählung Diskrepanz zwischen X-Forwarded-For und X-Forwarded-Proto.

Connection String ist:

"DefaultConnection": "Data Source = GlobalEvent.db"

Antwort

0

Das Problem war in den falschen Einstellungen Reverse-Proxy. Ich konnte die richtige Lösung für Apache nicht finden, also änderte ich es zu Nginx. Um ehrlich zu sein, ich liebe es sogar noch mehr. Jetzt funktioniert alles. Außerdem habe ich Nginx Server-Blöcke für Subdomains erstellt. Alles andere von oben gilt immer noch.

Hier ist meine conf-Datei für ASP.NET Core-App:

server { 
    listen 80; 
    root /var/www/subdomain.domain.com/html; 
    server_name subdomain.domain.com www.subdomain.domain.com; 
    location/{ 
      proxy_pass http://localhost:5000; 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection keep-alive; 
      proxy_set_header Host $host; 
      proxy_cache_bypass $http_upgrade; 
     } 
}