작은 WSL 것들

방금 개인 노트북을 다시 만들고 WSL 내에서 개발할 수 있도록 지난 번에 WSL을 설정한 방법을 기억하려고 했습니다. 하지만 지난 번에 하지 않은 몇 가지 항목이 있었고 이번에는 어떻게 작동하게 할 것인지 알아내기로 결심했습니다.

ASP.NET 개발자 인증서 설정



첫째, ASP.NET 6 API를 실행할 때 브라우저에서 유효한 인증서로 표시되도록 유효한 개발 인증서를 설정하고 싶었습니다. 다시 빌드하기 전에는 작동하지 않았습니다. API가 잘 작동했습니다. 그러나 브라우저는 항상 사이트가 안전하지 않은 것으로 표시했습니다.

.NET 6이 설치될 때 자동으로 ASP.NET 개발자 인증서를 설정하는 것처럼 보입니다. 인증서를 생성하기 위해 dotnet dev-certs 명령을 실행했을 때 인증서가 이미 존재한다고 합니다. 물론 /usr/local/share/ca-certificates/aspnet(Ubuntu WSL 설치 사용)로 이동하면 https.crthttps.pfx 파일을 볼 수 있습니다. 그러나 API를 실행하고 Swagger 페이지를 가져오면 사이트가 여전히 보안되지 않은 것으로 표시됩니다.

내가 한 일은 WSL 외부에서 Windows 인증서 관리자를 열고 거기에서 인증서를 설치하는 것입니다. 시작 메뉴를 연 다음 Manage User Certificates 를 검색할 수 있습니다. 열리면 Trusted Root Certification Authorities / Certificates로 이동합니다. 그런 다음 Certificates 노드를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 All Tasks를 선택한 다음 Import...를 선택합니다. 가져오려는 인증서의 위치를 ​​묻는 화면에서 \\wsl.localhost\Ubuntu\usr\local\share\ca-certificates\aspnet 로 이동하여 https.crt 파일을 가져옵니다.

제 경우에는 이 시점에서 컴퓨터를 재부팅해야 했습니다. 컴퓨터를 재부팅하지 않고 모든 것을 새로 고칠 수 있는 방법이 있는지는 잘 모르겠습니다. 이것은 저에게 효과적이었고 이제 API를 실행하면 사이트가 안전하다는 것을 알 수 있습니다.

WSL 시작 시 Postgres 서비스가 실행 중인지 확인



컴퓨터를 다시 시작할 때마다 Postgres 서비스를 계속 수동으로 시작하고 싶지 않았기 때문에 적어도 WSL 터미널을 처음 열 때 자동으로 시작되도록 하는 방법이 있는지 알아보았습니다. code .를 입력하기 전에 실행합니다. 나는 Wan Zulkarnain의 답변here을 찾았고 원본 포스터를 전적으로 인정합니다. 나는 내 자신의 사용을 위해 그리고 해당 사이트가 종료될 경우를 대비하여 여기에 복제합니다.

먼저 이 코드를 내 ~/.bashrc 파일에 추가했습니다.

if ! pgrep -x "postgres" >/dev/null; then
    sudo pg_ctlcluster 12 main start
    echo "postgres service started using: sudo pg_ctlcluster 12 main start"
fi


그런 다음 WSL을 시작할 때마다 암호를 입력할 필요가 없도록 sudoers라는 skip_sudo_pg 파일을 만들었습니다. 해당 파일에서 다음 한 줄을 추가했습니다.

%sudo ALL=(ALL) NOPASSWD:/usr/bin/pg_ctlcluster


WSL을 중지하고 새 터미널 창을 다시 연 후 수동으로 수행할 필요 없이 Postgres가 성공적으로 시작되었습니다.

감사하게 되는 것은 작은 것입니다...

좋은 웹페이지 즐겨찾기