OS X에서 Paralles Windows 10 VM의 localhost 사이트에 접속하는 방법
개요
Mac에서 Paralles환경의 Windows 10 VM을 이용해 Web API 서버 모듈을 개발하고 있다. 개발환경은 Visual Studio ASP.NET이며, 디버깅을 위해 http://localhost:60000
이라는 주소를 이용한다. 클라이언트는 Mac(OS X 10.11)에서 개발하며 그 테스트를 위해 Mac에서 VM내부에 있는 localhost 주소에 접속할 필요가 있다. 처음엔 그냥 간단히 생각했는데, 몇 가지 번거로운 작업이 필요했다.
페러렐즈 설정
VM 메뉴에서 Network Device를 Shared Network
로 해준다. Paralles 11에 windows10 설치하면 기본값이 Shared로 되어 있다. Shared Network
로 설정하면 IP 10.211.55.0을 subnet으로 하는 DHCP가 구성되어 10.211.55.1에서 10.222.55.254사이의 IP를 부여 받게 된다. 정확한 Windows VM의 IP는 cmd.exe를 실행하여 ipconfig
명령으로 확인 할 수 있다.
C:\WINDOWS\system32>ipconfig Windows IP 구성 이더넷 어댑터 이더넷: 연결별 DNS 접미사. . . . : localdomain IPv6 주소 . . . . . . . . . : fdb2:2c26:f4e4:0:84fa:ade8:cfd6:6cc5 임시 IPv6 주소. . . . . . . : fdb2:2c26:f4e4:0:7ca7:2911:4e75:2037 링크-로컬 IPv6 주소 . . . . : fe80::84fa:ade8:cfd6:6cc5%7 IPv4 주소 . . . . . . . . . : 10.211.55.3 서브넷 마스크 . . . . . . . : 255.255.255.0 기본 게이트웨이 . . . . . . : 10.211.55.1 터널 어댑터 isatap.localdomain: 미디어 상태 . . . . . . . . : 미디어 연결 끊김 연결별 DNS 접미사. . . . : localdomain 터널 어댑터 Teredo Tunneling Pseudo-Interface: 연결별 DNS 접미사. . . . : IPv6 주소 . . . . . . . . . : 2001:0:9d38:6ab8:340d:19e2:f52c:c8fc 링크-로컬 IPv6 주소 . . . . : fe80::340d:19e2:f52c:c8fc%9 기본 게이트웨이 . . . . . . :
호스트 추가
페러렐즈의 ip를 맥의 host파일에 추가하기 위해 nano editor를 사용하여 host파일을 편집한다.
$ sudo nano /etc/hosts
아래 마킹된 부분과 같이 IP와 별도의 호스트명을 추가한다. Mac에서 localhost
를 사용하지 않는다면 주석처리 하고 localhost를 사용해도 되겠다.
## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 10.211.55.3 winlocal
방화벽 설정
Windows VM의 방화벽에 인바운드 TCP 60000 포트를 추가해 준다.(자세한 설명은 생략)
URL 예약
URL예약이라는 표현이 맞는지 모르겠지만 아래와 같이 cmd.exe창에서 netsh의 aclr옵션으로 ACL룰을 추가한다. 이 작업을 위해서는 관리자 권한으로 cmd.exe를 실행해야 한다.
C:\WINDOWS\system32>netsh http add urlacl url=http://*:60000/ user={사용자아이디} URL 예약을 성공적으로 추가했습니다.
IIS Express 설정
만약 IIS Express를 사용한다면 applicationhost.config파일의 site태그에 binding설정을 추가해 준다. Visual Studio를 사용한다면 솔루션 폴더의 .vs/config폴더 안에 있다.
VS가 아니면, Documents\IISExpress\config
폴더에 있다.
<site name="Wapi.Api(1)" id="4"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="\\Mac\Home\Codes\GitHub\wapi\wapi.Api" /> </application> <bindings> <binding protocol="http" bindingInformation="*:60000:localhost" /> <binding protocol="http" bindingInformation="*:60000:*" /> </bindings> </site>
참조
ASP.NET
- OS X(10.11)에 ASP.NET Application
- OS X(10.10)에 ASP.NET 5 설치하기
- MVC Web Application에서 재사용 가능한 Authentication라이브러리 만들기
- 맥에서 ASP.NET vNext 애플리케이션 개발하기
- ASP.NET 5소개
- ASP.NET 5와 MVC 6에서 바뀌게 되는 기능 Top 10
- ASP.NET 5 스케폴딩(Scaffolding)
- MVC Controller와 ApiController의 차이점
- ASP.NET Accounts Management
- MVC를 이용해 RealGrid에 데이터를 표현하기
EF
Visual Studio
- Visual Studio Code v0.3.0
- 무서운 EF
- 해결 방법을 찾을 수 없습니다.
- GitHub Extension for Visual Studio
- Visual Studio Code for Mac
- 패러렐즈 Visual Studio Text Editor 스크롤을 부드럽게 하는 방법
Another Code
- BitBucket!! 너는 또 뭐야?
- Git! 너 뭐야?
- 슬랙앱 만들기
- 품질의 기본
- 대화의 수준
- javascript tutorial
- html tutorial
- OS X에서 Paralles Windows 10 VM의 localhost 사이트에 접속하는 방법
- OS X(10.11)에서 MongoDB
- OS X(10.11)에서 SVN(Subversion)
- OS X(10.11)에서 아파치웹서버 구동하기 (Virtual Hosting 구현)
- OS X(10.11)에서 메이븐(Maven)사용하기
- Jasmine을 이용한 Javascript 테스트
- Identicon
- 회사의 슬픔
- 지킬에서 사이드 메뉴 필터링 하기
- ASP.NET MVC vs WEB API
- 티스토리에서 구문 하이라이팅 기능 구현하기
Javascript
- react를 위한 webpack정리 (II) - 작성중
- react를 위한 webpack정리 (I)
- javascript에서 객체 정의
- Javascripting
- aws-ec2-amazon linux-nodejs
- Protractor
- AngulaJS 연습
티스토리(1) tistory(1) syntax highlighting(1) Visual Studio(3) ASP.NET(4) EF(3) RealGrid(2) Jekyll(2) GitHub(3) SqlServer(1) SqlServer 2014(1) MVC(2) ASP.NET 5(7) Identity(2) Account(1) Controller(1) ApiController(1) 스케폴딩(2) Schaffolding(2) MVC 6(1) 페러렐즈(2) Parallels(1) Liquid(1) Authentication(1) Entity Framework(2) Visual Studio Code(2) VS(2) VisualStudio(2) Visual Studio 2015(2) VS 2015(2) Extension(1) 잡설(3) Update-Database(1) Entension(1) 일을하지말아야지(1) osx(2) DNX(2) Iendticon(1) Jasmine(1) AngularJS(2) protractor(1) maven(1) java(1) OSX(5) yosemite(2) 메이븐(1) 요세미티(1) 서브라임(1) 아파치(2) apache(1) webserver(1) 웹서버(1) virtualhost(1) svn(1) subversion(1) 몽고디비(1) mongodb(2) localhost(1) 호스팅(1) hosting(1) VSCode(1) html(1) JavaScript(1) nodejs(2) aws(2) ec2(2) git(4) javascript(5) object(1) webpack(2) reactjs(2) react(2) browserify(2) 웹팩(3) 리액트(3) slack(1) api(1) slack app(1) 슬랙 앱(1) 깃(2) 깃허브(1) github(1) 비트버킷(1) BitBucket(1)