메뉴 건너뛰기

조회 수 2985 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

실제 서비스되는 환경과 동일한 환경에서 웹을 테스트하려면 웹서버를 https로 띄워야 하는데

도메인이 없는 윈도우 테스트 PC에서 localhost 도메인을 https로 띄우는 방법에 대한 설명이다.

 

1. mkcert 설치

 

https://github.com/FiloSottile/mkcert#windows

 

윈도우에서 mkcert를 설치하려면 choco 로 설치하라는데 

choco부터 설치해야한다

 

1-1. choco 설치

 

( https://nodejs.org/ko 에서 Node.js 윈도우 버전을 깐적이 있으면

 choco가 이미 PC에 설치되어 있을수도 있다. 아래 과정의 choco 설치가 귀찮으면
Node.js 윈도우버전을 깔면 추가설치과정에서 자동으로 깔아주니 참고)

 

powershell을 관리자 권한으로 실행한뒤 

 

1-1-1. choco가 이미 깔려있는 경우

# choco 가 깔려있는지 확인
PS C:\apm\certs> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco <command> -?' for help menu.
# 깔려있을경우 choco 업데이트
PS C:\apm\certs> choco upgrade chocolatey
Chocolatey v0.10.15
Upgrading the following packages:
chocolatey
By upgrading you accept licenses for the packages.

You have chocolatey v0.10.15 installed. Version 2.0.0 is available based on your source(s).
Progress: Downloading chocolatey 2.0.0... 100%

chocolatey v2.0.0
chocolatey package files upgrade completed. Performing other installation steps.
The package chocolatey wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): y

PS C:\apm\certs> choco
Chocolatey v2.0.0
Please run 'choco -?' or 'choco <command> -?' for help menu.

 

1-1-2. choco 가 없을 경우 신규설치

PS C:\apm> Set-ExecutionPolicy Bypass -Scope Process
실행 규칙 변경
실행 정책은 신뢰하지 않는 스크립트로부터 사용자를 보호합니다. 실행 정책을 변경하면 about_Execution_Policies 도움말
항목(https://go.microsoft.com/fwlink/?LinkID=135170)에 설명된 보안 위험에 노출될 수 있습니다. 실행 정책을
변경하시겠습니까?
[Y] 예(Y)  [A] 모두 예(A)  [N] 아니요(N)  [L] 모두 아니요(L)  [S] 일시 중단(S)  [?] 도움말 (기본값은 "N"): Y


PS C:\apm> [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

PS C:\apm> choco
Chocolatey v2.0.0
Please run 'choco -?' or 'choco <command> -?' for help menu.

 

1-2. mkcert 설치

마찬가지로 관리자권한으로 실행된 powershell에서

 

PS C:\apm> choco install mkcert
Chocolatey v2.0.0
Installing the following packages:
mkcert
By installing, you accept licenses for the packages.
Progress: Downloading mkcert 1.4.4... 100%

mkcert v1.4.4 [Approved]
mkcert package files install completed. Performing other installation steps.
 ShimGen has successfully created a shim for mkcert.exe
 The install of mkcert was successful.
  Software installed to 'C:\ProgramData\chocolatey\lib\mkcert'

Chocolatey installed 1/1 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
PS C:\apm> 

 

1-3. mkcert를 이용해 CA로 부터 루트 인증서 설치 (바이러스같은 안랩이 방해하니 안랩을 끄거나 삭제후에 하자)

PS C:\apm> mkcert -install
Created a new local CA
The local CA is now installed in the system trust store
The local CA is now installed in Java's trust store

PS C:\apm>

 

1-4 로컬주소에 대한 인증서 생성

PS C:\apm> mkcert localhost 127.0.0.1 ::1

Created a new certificate valid for the following names
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./localhost+2.pem" and the key at "./localhost+2-key.pem"

It will expire on 20 September 2025

PS C:\apm> dir


    디렉터리: C:\apm


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----      2023-06-20   오후 7:45           1704 localhost+2-key.pem
-a----      2023-06-20   오후 7:45           1610 localhost+2.pem


PS C:\apm>

 

유효기간보면 2년 3개월짜리 인증서다.

 

2. 윈도우 아파치 설정 (아파치 현재버전인 2.4버전 기준)

 

1에서 생성한 키와 인증서파일을

C:\apm\certs 처럼 certs 디렉토리를 만든후 아래에 카피해주고 착오방지를 위해 

localhost+2-key.pem 은 localhost-key.pem 로

localhost+2.pem 은 localhost-cert.pem 으로 이름을 바꿔준다. 파일이름에  +가 들어가는것도 막을겸.

 

2.1 아파치가 설치된 디렉토리내


conf/httpd.conf 파일을 열어

mod_socache_shmcb.so 와 mod_ssl.so 와 httpd-ssl.conf 를 검색해 주석 3군데를 풀어준다

 

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
# ...
Include conf/extra/httpd-ssl.conf

 

2.2 conf/extra/httpd-ssl.conf를 열어
아래처럼 DocumentRoot, ServerName, SSLCertificateFile, SSLCertificateKeyFile 값을
자신의 환경에 맞춰 바꿔준다.

<VirtualHost _default_:443>

#   General setup for the virtual host
#DocumentRoot "${SRVROOT}/htdocs"
DocumentRoot "E:/auto"
ServerName localhost:443

#...

#SSLCertificateFile "${SRVROOT}/conf/server.crt"
SSLCertificateFile "c:/apm/certs/localhost-cert.pem"

#...

#SSLCertificateKeyFile "${SRVROOT}/conf/server.key"
SSLCertificateKeyFile "c:/apm/certs/localhost-key.pem"

 

이제 Win+R -> services.msc 서비스 관리창 띄워서 

아파치 서비스 중지->시작으로 재시작하면

https://localhost 로 접속이 가능해진다.

아파치 서비스 재시작시 오류가 나면 이벤트 뷰어 -> 응용프로그램 부분에 가면 실패원인에 대한 메시지가 나오니 참고.

(https(443)포트를 다른 서버 (iis나 vmware server 등)가 이미 점유하고 있으면 서비스를 시작할수가 없다. 그 이외에는 아파치설정오류)

 

 

크롬으로 확인했을때 

크롬_HTTPS정보.gif
 

크롬에서 인증서 뷰어

 

크롬인증서정보.gif

 

2.3 http로 접속하면 자동으로 https접속으로 리다이렉트 시키기

conf/httpd.conf 를 열어 mod_rewrite.so 로 검색해 주석처리되어 있으면 없애주고

ServerName 바로아래에 rewrite rule 3줄 추가해준다.

여러 도메인 테스트 중이라면 extra/httpd-vhosts.conf 의 virtualhost 부분의 ServerName 아래에 넣어준다

 

LoadModule rewrite_module modules/mod_rewrite.so
#...
ServerName localhost:80
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

 


  1. 개인용 크롬인데 조직에서 관리하는 브라우저입니다라고 나올때

    Date2024.11.08 ByDDART Views709
    Read More
  2. 장치관리자에서 삭제한 장치 자동 재설치 방지하는 방법

    Date2024.07.20 ByDDART Views1015
    Read More
  3. 윈도우에서 우분투 22.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

    Date2024.01.21 ByDDART Views2859
    Read More
  4. 윈도우10 아이콘이 제대로 표시 안될때

    Date2023.11.09 ByDDART Views2505
    Read More
  5. 아파치서버에서 웹소켓 특정포트 프락시설정방법

    Date2023.07.19 ByDDART Views2876
    Read More
  6. 윈도우용 아파치에서 localhost 를 https로 띄우기

    Date2023.06.21 ByDDART Views2985
    Read More
  7. 우분투 22.04 메일서버 설정

    Date2023.06.13 ByDDART Views3722
    Read More
  8. 윈도우용 아파치 php 버전 동시에 2개이상 띄우기

    Date2023.05.27 ByDDART Views2611
    Read More
  9. 윈도우에서 우분투 20.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

    Date2023.05.07 ByDDART Views2819
    Read More
  10. 원격데스크톱 연결후 화면 사라짐현상, 특정 IP만 접속 허용

    Date2023.05.05 ByDDART Views3918
    Read More
  11. mysql/mariadb 손상된 inno db 복구

    Date2023.05.03 ByDDART Views3177
    Read More
  12. 원격데스크톱 마이크로소프트 계정 자격증명 실패할때

    Date2023.04.29 ByDDART Views4446
    Read More
  13. 로그지우기

    Date2021.11.05 ByDDART Views4890
    Read More
  14. 윈도우에서 우분투 MariaDB 10.5 로 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

    Date2021.09.15 ByDDART Views7935
    Read More
  15. 우분투 서버 업데이트 후 자동 전원 대기모드 방지

    Date2021.07.23 ByDDART Views3519
    Read More
  16. 우분투 서버 자동업데이트

    Date2021.07.03 ByDDART Views3068
    Read More
  17. 갑자기 WOL 이 동작안할때

    Date2020.11.07 ByDDART Views7305
    Read More
  18. 윈도우 10 마이크로소프트 계정 PIN 없이 자동로그인

    Date2020.09.17 ByDDART Views3223
    Read More
  19. postfix 에서 mysql 오류

    Date2020.08.02 ByDDART Views3689
    Read More
  20. svn 서버 사이 동기화

    Date2020.07.30 ByDDART Views4000
    Read More
Board Pagination Prev 1 2 3 ... 4 Next
/ 4