# SSL プロキシ（廃止）

Source: https://docs.sisk-framework.org/ja/docs/extensions/ssl-proxy.html

> [!CAUTION]
> **廃止されました。使用しないでください。** Sisk.SslProxy パッケージはもはやメンテナンスされておらず、NuGet で非推奨となっています。代替パッケージはありません。現在の Cadente API に対してコンパイルできません。HTTPS を提供するには、[Cadente engine](https://docs.sisk-framework.org/ja/docs/cadente.md) のネイティブ SSL サポートまたは [Working with SSL](https://docs.sisk-framework.org/ja/docs/ssl.md) のいずれかのオプションを使用してください。このページは歴史的参照のために残されています。

Sisk SSL Proxy は、Sisk の [ListeningHost](https://docs.sisk-framework.org/api/Sisk.Core.Http.ListeningHost.md) に HTTPS 接続を提供し、HTTPS メッセージを安全でない HTTP コンテキストへルーティングするモジュールです。このモジュールは、SSL をサポートしない [HttpListener](https://learn.microsoft.com/pt-br/dotnet/api/system.net.httplistener?view=net-8.0) を使用して実行するサービスに対して SSL 接続を提供するために作られました。

プロキシは同じアプリケーション内で実行され、HTTP/1.1 メッセージをリッスンし、同じプロトコルで Sisk に転送します。現在、この機能は非常に実験的であり、製品環境で使用するには不安定な可能性があります。

現時点では、SslProxy は keep-alive、チャンク化エンコーディング、WebSocket など、ほぼすべての HTTP/1.1 機能をサポートしています。SSL プロキシへのオープン接続の場合、ターゲットサーバーへの TCP 接続が作成され、プロキシは確立された接続へ転送されます。

SslProxy は次のように HttpServer.CreateBuilder と組み合わせて使用できます:

```csharp
using var app = HttpServer.CreateBuilder(port: 5555)
    .UseRouter(r =>
    {
        r.MapGet("/", request =>
        {
            return new HttpResponse("Hello, world!");
        });
    })
    // プロジェクトに SSL を追加
    .UseSsl(
        sslListeningPort: 5567,
        new X509Certificate2(@".\ssl.pfx", password: "12345")
    )
    .Build();

app.Start();
```

プロキシ用に有効な SSL 証明書を提供する必要があります。ブラウザーが証明書を受け入れるようにするため、証明書をオペレーティングシステムにインポートして正しく機能するようにしてください。
