레이블이 IIS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 IIS인 게시물을 표시합니다. 모든 게시물 표시

2016년 8월 30일 화요일

OpenSSL : IIS7 에서 OpenSSL 을 이용해 Https 구성 하기.

참고로 여기서는 실제 운영서버를 위한것이 아니라, 사설 인증을 이용해 테스트 용도의 개발 서버 구축을 위한 것이다. (즉, 완전한 설치법은 아님. 단지, 인증서 설치가 대충 이런식으로 진행된다는 것.)

원래는 공인 인증 기관에서 인증서를 발급받아야 겠으나, 이건 테스트용이므로 OpenSSL 을 이용해 자체 인증서를 쓴다.

일단 OpenSSL 을 설치한다.

배포처 : https://code.google.com/archive/p/openssl-for-windows/downloads



2014년 12월 5일 금요일

Win7, IIS 에서 WebDAV 를 사용하자.

전통적으로 원격지의 서버에 파일을 전송하는 방법은 FTP 였지만, 요즘은 보안상 문제도 있고 해서 많이 사용이 지양되고 있다.

문제는 그렇다고 해서 딱히 다른 좋은 대안이 있냐 하면, 또 딱히 그런것도 아니다.
뭐... Sftp 를 쓰는 방법도 있기는 하겠으나... 나의 경우는 일단은 별도로 프로그램을 설치하는것 보다는 가능하면 기본적으로 제공된는 기능을 일단 써보고 영~~~ 아니다 싶으면 다른 대안을 찾아 보는 편이다.

그런면에서, 윈도우기본 기능에도 FTP 를 대체할 수 있는 기능이 있으니, 그게 WebDAV 다.

말이 뭔가 좀 거창해 보이지만, 그냥 "웹네트워크 드라이브 연결 지원..." 정도 쯤 되겠다.

일단 사용하려면...
제어판의 "Windows 기능 사용/사용안함" 에서 설정을 해줘야 한다.


일단 기본적으로 Windows 인증 과 기본인증은 사용으로 지정되어 있어야 한다.
이게 FTP 보다는 낫다라는게, 윈도우 인증을 거치기 때문이니까.

그리고 "일반적인 HTTP 기능" 에서 "WebDAV 게시" 가 활성화 되어야 한다.


그런다음. 인증에서 사용자 권한을 지정해야 한다.


저기에서 "Window 인증" 은 무조건 "사용" 이어야 하며, "익명 인증" 은 허용할지 말지 상황에 맞게 지정해야 한다. 저걸 "사용안함" 으로 지정시, 익스플로러나 크롬같은 웹브라우져로 접속시에도 암호를 넣어야 하므로, 웹서비스로 사용하기 어렵다.

나의 경우는 홈페이지 파일 관리를 위해서 WebDAV 를 연것이므로 익명 인증이 허용되어 있지만, 단순히 파일 공유를 위한 것이라면 "사용안함"으로 지정하는것이 좋을 것이다.


그런다음, "WebDAV 제작 규칙" 메뉴에서 관리규칙을 지정하면된다.
참고로 , 이 아이콘은 아까 제어판의 "Window기능 사용/사용안함" 에서 "WebDAV 게시" 가 설정되어 있을 경우에만 아이콘이 나타난다.


 여기서 적용규칙을 원하는대로 지정하면 된다.
예를 들면, 모든 사용자는 파일 읽기만 가능하고, 특정 아이디로 로그인 했을때만 수정이 가능하다던가... 하는 규칙을 지정하면 된다.


그러면 지정된 규칙이 업데이트 된다.
그리고, 반드시 오른쪽에 "WebDAV 사용" 을 클릭해 작동 시켜줘야 한다.
그냥 규칙만 지정한다고 바로 "WebDAV" 가 자동으로 시작되는게 아니다.

여기까지 지정했다면, 설정은 다 끝난것이다.
이제 이걸 어떻게 사용하냐면....


네트워크 드라이브 연결을 클릭해서....


연결한 서버를 지정하는데, 이때 "http" 통신을 이용한다.
다시말해 웹으로 통신하는거다. 그렇기 때문에 특정 포트 하나만 열어 놓고 공유기의 포트포워딩 까지 사용하면 어지간한데서는 다 파일을 관리 할 수 있게된다.

그리고, 나의 경우는 "913" 포트를 사용했기에

http://192.168.0.197:913

... 으로 되어 있지만 대부분은 "80" 포트를 이용 할테니,

http://192.168.0.197

...이런식으로 지정하게 될거다.
하여튼 이렇게 지정하면...


인증과정을 거치고...


드라이브가 연결되면, 그뒤로는 그냥 네트워크 드라이브 쓰듯이 쓰면된다.



C# 에서 웹루트를 시작 점으로 지정하기. 도메인 루트를 웹응용프로그램으로 지정하기.

처음에 C# 으로 개발 하다보면 이해가 잘안되는 것이...

비쥬얼스튜디오로 웹 사이트를 개발하면, 기본적으로,

http://도메인/응용프로그램

식으로 개발을 하게 된다.
일단 프로젝트 추가에 웹응용프로그램을 프로젝트를 생성하면 기본적으로 저렇게 지정되어 버리니...

그러다 보니, 웹서버에 등록할 때도 웹 응용프로그램으로 등록해 줘야 한다.


그래서 실제로 접속할때는,

http://domain.co.kr/Web 

이런식으로 서브경로 까지 입력하고 접속을 하게 된다.

이게 나름 여러개의 기능를 별도의 하위 사이트로 분리하여 관리한다는 측면에서는 괜찮은 방법이긴 하지만, 반대로 하나의 시스템으로 해도 충분한 경우에는 도메인 주소에 쓸데없는 하위 경로가 추가되어 있으므로, 오히려 귀찮기도 하다.

그래서... 쓸데없는 추가 경로를 만들지 않기 위해, 웹응용프로그램을 등록하지 않고 그냥 웹 루트에 바로 소스를 업로드해서 사용 하려고 시도 하면...



이렇게 응용프로그램을 생성하지 하고 바로 웹루트에 소스를 업로드 하면...

... 뭐... 이런 오류가 난다.

<compilation debug="true" targetFramework="4.5" />

이것때문에, 마치 프레임 워크쪽에 뭔가 잘못된것만 같은... 뭔가 알쏭달송한 오류지만, 그냥 웹응용프로그램이 아니라서 안된다는 얘기다.
다시말해, 저 웹루트로가 웹응용프로그램으로 지정되어 있다면 이대로 쓰는것도 가능하다는 얘기...

자... 그럼 웹응용프로그램으로 지정하려면 어떻게 해야 하느냐?
간단히, 해당 웹루트를 선택하고 기본설정에서 변경하면되는데...


기본설정으로 들어가 보면. DefaultAppPool 로 지정되어 있을 것이다.


이걸 "ASP.NET v4.0" 으로 바꿔 주면된다.


그럼 이렇게 웹루트에서도 .Net 소스가 잘 작동한다.



2014년 7월 22일 화요일

"PageHandlerFactory-Integrated" 처리기의 모듈 목록에 잘못된 모듈 "ManagedPipelineHandler"이(가) 있습니다.

윈도우를 새로설치하고 VS2010 을 설치하고 VS2008에서 작업했던 이전 프로젝트를 불러 왔더니..

"PageHandlerFactory-Integrated" 처리기의 모듈 목록에 잘못된 모듈 "ManagedPipelineHandler"이(가) 있습니다.

라는 오류가 발생한다.

최초에 IIS 에 등록했을때는 잘됐는데, VS2010에서 불러 오면서 변환한 이후로 안되는거니, 아마도 .Net Framework 문제일 것이다.

VisualStudio 프로그램 목록에 보면 커멘드 툴이 있으니 "관리자 모드"로 실행.



커멘트 창에서 "aspnet_regiis.exe -i" 를 실행하면 된다.


2014년 4월 12일 토요일

IIS 웹서버에서 존재하는 hwp 파일이나 mp4 파일이 접근이 되지 않을때

처음 당하면 정말 당황스러운 경우로, 웹서버에 정확히 파일이 존재하는데도 불구하고 파일이 조회나 다운이 되지 않는다.

한글 파일이나 파일명에 공백이 들어가 있어서 인식되지 않는 경우도 있으나, 한글이 문제였을 경우, 해당 파일을 영문 파일명으로 바꾸고 접근을 시도하면 해결된다. 그러나, 그래도 안되는 경우가 있다.

이 경우 대부분은 MIME 타입이 등록되어 있지 않아 접근이 불가능하기 때문일 경우가 많다.
(제일 확실한 방법은 해당 파일을 'zip' 같은 널리 알려진 파일 확장자로 바꾸고 접근해 보는 것이다. 확장자를 바꾸었을 경우 접근이 된다면 MIME 문제일 가능성이 100% 다.)

해결책은 MIME 타입을 등록해주면 된다.





일반적으로 쓰이는 파일들은 기본값으로 등록되어 있으나, hwp 나 mp4 같은 것은 등록되어 있지 않으므로, 해당 파일을 등록해 주면 된다.

음악파일이나 영상 같은경우 mp3, wav 파일의 형식을 참고해서 같이 등록해 주면 되고,
어떤 형식을 지정해야 할지 잘 모를경우는 그냥 'application/unknown' 으로 등록해 줘도 된다.

중요한것은 해당 확장자의 파일이 웹서버에 알려진 확장자로 등록되어 있는지 여부이니까...