Skip to content

Commit bbf4735

Browse files
committed
dont rely on a separate flag
1 parent aacf552 commit bbf4735

File tree

3 files changed

+21
-9
lines changed

3 files changed

+21
-9
lines changed

scenarios/rejection.benchmarks.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ scenarios:
100100
variables:
101101
httpSysUrlPrefix: "http://testserver:{{serverPort}}"
102102
serverScheme: http
103-
httpOnly: true
104103
load:
105104
job: wrk
106105
variables:
@@ -156,7 +155,6 @@ scenarios:
156155
variables:
157156
enableHostHeaderValidation: true
158157
serverScheme: http
159-
httpOnly: true
160158
load:
161159
job: wrk
162160
variables:

src/BenchmarksApps/TLS/HttpSys/Program.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,14 @@
1414
var certPublicKeyLength = certPublicKeySpecified ? certPublicKeyConfig : 2048;
1515
var urlPrefix = builder.Configuration["httpSysUrlPrefix"];
1616

17-
// for investigation purposes you can disable https, but the point of TLS apps is to measure TLS scenarios
18-
var httpOnly = bool.TryParse(builder.Configuration["httpOnly"], out var httpOnlyConfig) && httpOnlyConfig;
19-
2017
// endpoints
2118
var listeningEndpoints = builder.Configuration["urls"] ?? "https://localhost:5000/";
2219
var httpsIpPort = listeningEndpoints.Split(";").FirstOrDefault(x => x.Contains("https"))?.Replace("https://", "");
20+
var httpOnly = httpsIpPort is null; // in case TLS is disabled. Only for debug purposes - this app is designed to measure TLS scenario
21+
if (httpOnly)
22+
{
23+
Console.WriteLine("[Note] Server scheme is HTTP, not HTTPS.");
24+
}
2325

2426
// debug
2527
var writeCertValidationEventsToConsole = bool.TryParse(builder.Configuration["certValidationConsoleEnabled"], out var certValidationConsoleEnabled) && certValidationConsoleEnabled;

src/BenchmarksApps/TLS/Kestrel/Program.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,25 @@
2121
var certPublicKeySpecified = int.TryParse(builder.Configuration["certPublicKeyLength"], out var certPublicKeyConfig);
2222
var certPublicKeyLength = certPublicKeySpecified ? certPublicKeyConfig : 2048;
2323
var enableHostHeaderValidation = bool.TryParse(builder.Configuration["enableHostHeaderValidation"], out var enableHostHeaderValidationConfig) && enableHostHeaderValidationConfig;
24-
25-
// for investigation purposes you can disable https, but the point of TLS apps is to measure TLS scenarios
26-
var httpOnly = bool.TryParse(builder.Configuration["httpOnly"], out var httpOnlyConfig) && httpOnlyConfig;
24+
var supportedTlsVersions = ParseSslProtocols(builder.Configuration["tlsProtocols"]);
2725

2826
// endpoints
2927
var listeningEndpoints = builder.Configuration["urls"] ?? "https://localhost:5000/";
30-
var supportedTlsVersions = ParseSslProtocols(builder.Configuration["tlsProtocols"]);
28+
29+
// determine if listening is expected only on HTTP scheme
30+
var httpOnly = true;
31+
foreach (var endpoint in listeningEndpoints.Split([';'], StringSplitOptions.RemoveEmptyEntries))
32+
{
33+
var urlPrefix = UrlPrefix.Create(endpoint);
34+
if (urlPrefix.Scheme == "https")
35+
{
36+
httpOnly = false;
37+
}
38+
}
39+
if (httpOnly)
40+
{
41+
Console.WriteLine("[Note] Server scheme is HTTP, not HTTPS.");
42+
}
3143

3244
// debug
3345
var writeCertValidationEventsToConsole = bool.TryParse(builder.Configuration["certValidationConsoleEnabled"], out var certValidationConsoleEnabled) && certValidationConsoleEnabled;

0 commit comments

Comments
 (0)