windows에서 WSL의 서비스에 액세스

2250 단어 WSL2WSL

tl;dr



WSL(또는 WSL2) 내에서 실행되는 서비스에 액세스하는 방법입니다.localhost 를 사용하면 쉽게 액세스할 수 있습니다.
그러나 127.0.0.1에서는 액세스할 수 없습니다.

WSL 내 서비스 시작



여기에서는 node + express 템플릿을 사용하여 http 서버를 시작합니다.
※WSL에 nodejsgit 가 인스톨 되고 있을 필요가 있습니다.

WSL을 열고 다음 명령을 실행하여 http 서비스를 시작합니다.
$ git clone https://github.com/quzq/play_express.git --depth 1
$ cd play_express
$ npm i
$ npm start

성공하면 다음과 같이 출력됩니다.
Listening on port 3000

Power Shell에서 액세스



Windows Power Shell을 시작하고 위의 서비스에 액세스합니다.
PS > curl http://localhost:3000

http 서비스 페이지를 가져올 수 있었습니다.
StatusCode        : 200
StatusDescription : OK
Content           : <!DOCTYPE html><html><head><title>Express</title><link rel="stylesheet" href="/stylesheets/style.cs
                    s"></head><body><h1>Express</h1><p>Welcome to Express</p></body></html>
RawContent        : HTTP/1.1 200 OK
                    Connection: keep-alive
                    Content-Length: 170
                    Content-Type: text/html; charset=utf-8
                    Date: Fri, 03 Jul 2020 07:18:31 GMT
                    ETag: W/"aa-z+ebXSEdArbZ+EXlN/WQjf6HV8c"
                    X-Powered-By: Expre...
Forms             : {}
Headers           : {[Connection, keep-alive], [Content-Length, 170], [Content-Type, text/html; charset=utf-8], [Date,
                    Fri, 03 Jul 2020 07:18:31 GMT]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 170

웹 브라우저에서 액세스



적절한 웹 브라우저에 http://localhost:3000 를 지정하여 액세스합니다.

다음과 유사한 페이지가 표시되었습니다.


기타



인스턴스가 다른 여러 WSL에서 동일한 포트의 서비스를 시작한 경우에는 그 중 하나의 서비스에만 액세스할 수 있었습니다. 어떤 우선순위가 되어 있는지는 몰랐습니다.

이상.

좋은 웹페이지 즐겨찾기