메뉴 건너뛰기

조회 수 1069 추천 수 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. No Image 20Jan
    by DDART
    2024/01/20 by DDART
    Views 602 

    윈도우에서 우분투 22.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

  2. No Image 08Nov
    by DDART
    2023/11/08 by DDART
    Views 563 

    윈도우10 아이콘이 제대로 표시 안될때

  3. No Image 19Jul
    by DDART
    2023/07/19 by DDART
    Views 1156 

    아파치서버에서 웹소켓 특정포트 프락시설정방법

  4. 윈도우용 아파치에서 localhost 를 https로 띄우기

  5. No Image 13Jun
    by DDART
    2023/06/13 by DDART
    Views 980 

    우분투 22.04 메일서버 설정

  6. No Image 26May
    by DDART
    2023/05/26 by DDART
    Views 804 

    윈도우용 아파치 php 버전 동시에 2개이상 띄우기

  7. No Image 06May
    by DDART
    2023/05/06 by DDART
    Views 1236 

    윈도우에서 우분투 20.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

  8. No Image 04May
    by DDART
    2023/05/04 by DDART
    Views 1325 

    원격데스크톱 연결후 화면 사라짐현상, 특정 IP만 접속 허용

  9. No Image 03May
    by DDART
    2023/05/03 by DDART
    Views 986 

    mysql/mariadb 손상된 inno db 복구

  10. No Image 28Apr
    by DDART
    2023/04/28 by DDART
    Views 1723 

    원격데스크톱 마이크로소프트 계정 자격증명 실패할때

  11. No Image 04Nov
    by DDART
    2021/11/04 by DDART
    Views 2788 

    로그지우기

  12. No Image 14Sep
    by DDART
    2021/09/14 by DDART
    Views 6408 

    윈도우에서 우분투 MariaDB 10.5 로 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

  13. No Image 22Jul
    by DDART
    2021/07/22 by DDART
    Views 1940 

    우분투 서버 업데이트 후 자동 전원 대기모드 방지

  14. No Image 02Jul
    by DDART
    2021/07/02 by DDART
    Views 1471 

    우분투 서버 자동업데이트

  15. No Image 07Nov
    by DDART
    2020/11/07 by DDART
    Views 3223 

    갑자기 WOL 이 동작안할때

  16. No Image 16Sep
    by DDART
    2020/09/16 by DDART
    Views 1794 

    윈도우 10 마이크로소프트 계정 PIN 없이 자동로그인

  17. No Image 01Aug
    by DDART
    2020/08/01 by DDART
    Views 2037 

    postfix 에서 mysql 오류

  18. No Image 29Jul
    by DDART
    2020/07/29 by DDART
    Views 2125 

    svn 서버 사이 동기화

  19. MariaDB 외부접속시 ssl 사용법, 그리고 ssl 로 replication(동기화) 하기

  20. No Image 10Jul
    by DDART
    2020/07/10 by DDART
    Views 2119 

    터미널에서 backspace 키가 안눌러질때

Board Pagination Prev 1 2 3 ... 4 Next
/ 4