작성
·
299
·
수정됨
0
여기 sslPort 번호를 가져와서
Uri함수 파라미터에 주소를 입력했더니
이렇게 무한 로딩이 걸려서 해결하고 싶어서 중단점 걸어보고 실행해봤습니다.
여기서
여기로 들어가면 var resultContent = await result.Content.ReadAsStringAsync(); 이 부분 전에 있는 중단점에는 잘 걸리는데 이 중단점에는 안 걸리고 함수 안에 있는 코드들이 전부 실행 되지 않고
결국 _gameResults 는 정상적으로 함수가 실행 되지 않아서 값을 못 받아서 계속 null인 상태로 있어서 무한 로딩이 걸렸습니다. 그래서 처음에는 비동기 함수가 실행을 완전히 끝내기 전에 그 전에 있던 함수가 종료 되었나? 생각하면서 이것저것 만지다가 그런 문제는 아닌 것 같고 그냥 무지성으로 Uri 파라미터에 sslPort번호 말고
여기에
"applicationUrl": "https://localhost:7146
이 부분을 Uri파라미터 주소에 넣었더니 잘 실행됩니다 그런데 강사님은 sslPort번호를 넣어서 잘 작동시켰는데 왜 저는 sslPort를 넣었는데 이상하게 작동되는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
이 동호님, 질문 주셔서 감사합니다.
먼저, Uri 함수의 파라미터로 SSL port 번호를 넣었을 때 무한 로딩이 걸리는 현상은 여러 요인에 의해 발생할 수 있습니다. 이 중 하나는 SSL 관련 설정이 제대로 되지 않아서 서버가 해당 포트에서 SSL 연결을 수립하지 못하는 경우일 수 있습니다.
Spring Boot를 사용하는 웹 서버의 경우 SSL 설정은 application.properties
나 application.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 문제를 디버깅하는 접근 방식을 고려해볼 수도 있습니다.
정보를 더 자세히 알려주시면 더 정확한 해결책을 제공하는데 도움이 될 것입니다.
감사합니다.