inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

Blazor와 WebApi 연동

Uri함수 파라미터 주소에 sslport번호를 넣으면 무한 로딩이걸림

497

이 동호

작성한 질문수 5

0

여기 sslPort 번호를 가져와서

Uri함수 파라미터에 주소를 입력했더니

이렇게 무한 로딩이 걸려서 해결하고 싶어서 중단점 걸어보고 실행해봤습니다.

여기서

여기로 들어가면 var resultContent = await result.Content.ReadAsStringAsync(); 이 부분 전에 있는 중단점에는 잘 걸리는데 이 중단점에는 안 걸리고 함수 안에 있는 코드들이 전부 실행 되지 않고

결국 _gameResults 는 정상적으로 함수가 실행 되지 않아서 값을 못 받아서 계속 null인 상태로 있어서 무한 로딩이 걸렸습니다. 그래서 처음에는 비동기 함수가 실행을 완전히 끝내기 전에 그 전에 있던 함수가 종료 되었나? 생각하면서 이것저것 만지다가 그런 문제는 아닌 것 같고 그냥 무지성으로 Uri 파라미터에 sslPort번호 말고

여기에

 

"applicationUrl": "https://localhost:7146

이 부분을 Uri파라미터 주소에 넣었더니 잘 실행됩니다 그런데 강사님은 sslPort번호를 넣어서 잘 작동시켰는데 왜 저는 sslPort를 넣었는데 이상하게 작동되는지 궁금합니다.

 

rest-api blazor web-api asp.net-core

답변 2

0

맞수

1년 지난 질문이지만, 저처럼 한참을 헤매는 분들이 있을까봐 작성합니다..

 

캡처.PNG.webp

ASP.NET Core 프로젝트는 launchSettings.json 파일의 "profiles" 속성들에 따라 실행 환경을 구분해 둘 수 있습니다.

 

결론.PNG.webp

여기에 해당 Profile에 지정된 "commandName" 속성에 따라 lls주소가 허용되지 않을 수 있습니다. 첫번째 profile의 commandName을 "IISExpress"로 바꿔주세요.

 

이 부분은 참고로 번외편 ASP.NET Core 심화편에 나오니 추가적인 내용은 참고하시면 될 듯합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

이 동호님, 질문 주셔서 감사합니다.

먼저, Uri 함수의 파라미터로 SSL port 번호를 넣었을 때 무한 로딩이 걸리는 현상은 여러 요인에 의해 발생할 수 있습니다. 이 중 하나는 SSL 관련 설정이 제대로 되지 않아서 서버가 해당 포트에서 SSL 연결을 수립하지 못하는 경우일 수 있습니다.

Spring Boot를 사용하는 웹 서버의 경우 SSL 설정은 application.propertiesapplication.yaml 파일에서 server.ssl.* 프로퍼티들을 통해 설정됩니다. 예를 들어 다음과 같이 설정 할 수 있습니다:

Properties 파일 예:

server.port=8443
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=secret
server.ssl.key-password=another-secret

Yaml 파일 예:

server:
  port: 8443
  ssl:
    key-store: "classpath:keystore.jks"
    key-store-password: "secret"
    key-password: "another-secret"

만약 Spring Boot 서버의 SSL 설정이 정확히 되어 있지 않거나, keystore 파일에 문제가 있거나, application.properties에서 설정된 포트와 실제 코드 내에서 사용하는 포트가 일치하지 않으면, SSL 포트로의 접근 시 문제가 발생할 수 있습니다. 위의 설정 예시는 Spring Boot 프로젝트에 적용되는 것이며, 만약 C#과 유니티 프로젝트에서 비슷한 문제가 발생한다면 해당 프레임워크 또는 서버 설정을 검토할 필요가 있습니다.

C#에서 Kestrel 서버를 사용하는 경우에는 launchSettings.json 파일에서 applicationURL을 통해 개발 시 사용하는 HTTP 및 HTTPS 포트를 설정할 수 있습니다. 이 파일에서는 SSL 포트를 별도로 지정할 수도 있습니다. 아래는 launchSettings.json 파일의 예시입니다:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:55439",
      "sslPort": 44331
    }
  },
  "profiles": {
    "WebApi": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "launchUrl": "swagger",
      "applicationUrls": "https://localhost:7146;http://localhost:5100",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "swagger",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

여기서 sslPort가 웹 응용 프로그램이 SSL을 사용하여 HTTPS 통신을 위해 수신 대기할 포트임을 명시합니다.

SSL 포트로 애플리케이션을 실행할 때는 해당 포트의 SSL 설정이 정확하게 구성되어 있는지, 또 SSL 인증서가 올바로 설치되어 있는지 확인해야 합니다. 개발 환경에서는 자체 서명된 인증서(self-signed certificate)를 생성하여 사용하기도 합니다.

강사님이 SSL 포트로 잘 실행하셨다면, 우선 강사님과 여러분의 SSL 설정과 인증서가 동일한지 확인하시길 바랍니다. 그리고 해당 포트에서 서버가 SSL 인증 절차를 처리할 수 있는지 확인해보시는 것이 좋겠습니다. SSL 설정이 복잡하거나 다루기 어려운 경우 일시적으로 HTTP 포트만을 사용하여 기본 동작을 확인한 다음, SSL 문제를 디버깅하는 접근 방식을 고려해볼 수도 있습니다.

정보를 더 자세히 알려주시면 더 정확한 해결책을 제공하는데 도움이 될 것입니다.

감사합니다.

클래스 라이브러리 (.NET Core)이 없으면 클래스 라이브러리 선택하시면 됩니다.

0

131

1

NET 9.0 버전에서의 레이아웃 적용

1

170

1

Visual Studio 2022에서 프로젝트 만들기 질문

0

314

2

MVC를 제대로 이해를 못했는데,

0

173

1

ASP.NET

0

151

1

LING #1 에서.. 서버 GC문제

0

263

3

자바스크립트 내용이 나오나요?

0

170

1

웹 사이트 보안

0

212

2

blazor실습 시 바인딩 관련 및 버튼이 동작하지 않는 이슈가 있으면? ( .NET 8.0 기준 )

3

373

1

An unhandled exception has occured. See browser dev tools for detail.

0

341

2

EFCore 포렌키 설정 관련 질문(Entity Framework Code First One-to-Many Relationship)

0

364

3

DB 설정 관련해서 질문 드립니다

0

424

3

10분 48초 부근에 안 되는 사람들 참고하세요

1

548

1

ArgumentException: Keyword not supported: 'trust server certificate'.

0

859

1

Need Summary 부분 질문있습니다!

0

311

1

계속 똑같은 에러가 뜹니다 ㅠㅠ

0

489

1

이번 강의 코드를 받을 수 있을까요?

0

371

1

ATOM이 2022년 12월 15일 기준 종료되었네요

0

565

1

CounterState 질문입니다.

0

401

1

"연결이 비공개로 설정되어 있지 않습니다." 오류가 뜰 경우

0

1824

2

백엔드 서버에 JPA를 사용해도 문제가 없을까요?

0

569

1

SendPostRequest 에서 POST 중복된 값이 추가되는 것을 방지하려면 어떻게 하면 될까요?

0

456

1

Task<WeatherForecast[]> 를 List<Task<WeatherForecast>> 이렇게 고친 후

0

399

1

웹서버로 턴제 카드게임 구현가능할까요?

0

1627

1