working - Visual Studio 2017 Aktivieren Sie SSL




visual studio ssl not working (6)

Das Bearbeiten der .\vs\config\applicationhost.config hat bei mir tatsächlich funktioniert.

<site name="Filters" id="2">
  <application path="/" applicationPool="Clr4IntegratedAppPool">
    <virtualDirectory path="/" physicalPath="c:\Users\Ashley\documents\visual studio 2017\Projects\Filters\src\Filters" />
  </application>
  <bindings>
    <binding protocol="http" bindingInformation="*:51107:localhost" />
    **<binding protocol="https" bindingInformation="*:43107:localhost" />**
  </bindings>
</site>

Die App wird jedoch standardmäßig über den Nicht-https-Port im Browser geladen. Wenn Sie Ihren Browser manuell auf den 43107-Port richten, sollte dies funktionieren.

Bearbeiten

Dies funktionierte ein paar Mal für mich, hörte aber auf zu arbeiten. Nachfolgende Tests ergaben, dass jedes Mal, wenn ich in VS 2017 RC auf die Schaltfläche klickte, um das Debuggen zu starten, die von mir manuell hinzugefügte Bindung entfernt wurde.

Ich habe das behoben, indem ich die Datei jetzt schreibgeschützt machte, beginnt sie wieder mit der HTTPS-Unterstützung.

Wie aktivieren Sie SSL für ein Projekt in Visual Studio 2017?

In VS15 konnte ich Projekt -> Eigenschaften -> Debuggen -> SSL aktivieren auswählen. Diese Option ist in VS2017 nicht verfügbar. Wohin ist es gezogen?

Bearbeiten:

Ich habe sogar versucht, die Datei " .\vs\config\applicationhost.config ohne Erfolg zu bearbeiten:

        <listenerAdapters>
            <add name="http" />
            <add name="https" />
        </listenerAdapters>

        <sites>
            <site name="WebSite1" id="1" serverAutoStart="true">
                <application path="/">
                    <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation=":8080:localhost" />
                </bindings>
            </site>
            <site name="Filters" id="2">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="c:\Users\Ashley\documents\visual studio 2017\Projects\Filters\src\Filters" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:51107:localhost" />
                    <binding protocol="https" bindingInformation="*:43107:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
            <virtualDirectoryDefaults allowSubDirConfig="true" />
        </sites>

        <webLimits />

Bearbeiten:

Eine andere Option, die ich ausprobiert habe und die sich nur klobig anfühlt und den Sinn einer IDE zunichte macht, ist die Konfiguration von Kestrel für die Verwendung von HTTPS. Dies ist nicht ideal, da ich eine Kopie eines Zertifikats für localhost aus IIS exportieren musste und IIS Express weiterhin versucht, die Site an einem anderen Port zu laden.

public class Program
{
    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel(options =>
                options.UseHttps(new X509Certificate2("path/to/cert.pfx", "password")))
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseUrls("http://localhost:5100", "https://localhost:4300")
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

Leider funktioniert dies nicht, wenn VS17 ausgeführt wird. Als ich das erste Mal einen 502.2-Fehler bekam (glaube ich), erhalte ich jetzt nur noch den Fehler, dass in Chrome keine Verbindung hergestellt werden kann. Ich kann dotnet run von PowerShell dotnet run und es funktioniert gut.

Als Workaround macht es den Trick. Aber es scheint nicht ordentlich.



Für Benutzer, die asp.net core 1.x in Visual Studio 2017 RC ausführen, sollten Sie in der Lage sein, die Zeile "sslPort": 0 in der Datei launchSettings.json in die Portnummer zu ändern, die Sie für SSL verwenden möchten. Dies ändert effektiv die Bindungen in der Datei. \ Vs \ config \ applicationhost.config, die in den vorherigen Antworten erwähnt wurde.


Für Visual Studio 2017:

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt> Eigenschaften
  2. Wählen Sie die Registerkarte Debug
  3. Aktivieren Sie SSL aktivieren

Dies ist für ein Asp.Net MVC .Net Framework-Projekt

  1. Wählen Sie Ihr Projekt aus, indem Sie es markieren.
  2. Drücken Sie dann F4 , um das Eigenschaftenfenster zu öffnen.
  3. Suchen Sie das Element SSL Enabled in der Liste, setzen Sie seinen Wert auf True und kopieren Sie den SSL-URL- Wert in Ihre Zwischenablage.
  4. Wenn Ihr Projekt markiert ist, drücken Sie Alt + Eingabetaste , um das Dialogfeld "Eigenschaften" zu öffnen. Fügen Sie die kopierte SSL-URL in die Projekt-URL unter dem Eingabefeld "Webmenü" ein.

Dies ist für einen Asp.Net Core 2.0:

  1. Öffnen Sie Ihren Solution Explorer in VS2017.
  2. Doppelklick- Properties (ja, es ist auch ein Objekt selbst, nicht nur ein Ordner)
  3. Öffnen Sie auf der linken Seite Debug
  4. Scrollen Sie nach unten und wählen Sie Enable SSL

Wenn es bereits aktiviert ist, öffne launchSettings.json (entfalte die Properties ) und setze "sslPort" auf 0 und "sslPort" die Schritte erneut aus.

VS2017 sollte Sie jetzt fragen, ob Sie ein SSL-Zertifikat hinzufügen möchten (was nicht der Fall ist, wenn Sie launchSettings.json selbst geändert launchSettings.json ), und einen Port für Sie festlegen.





visual-studio-2017