메뉴 건너뛰기

조회 수 3109 추천 수 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 Views870
    Read More
  2. 장치관리자에서 삭제한 장치 자동 재설치 방지하는 방법

    Date2024.07.20 ByDDART Views1145
    Read More
  3. 우분투 19.04, 19.10, 20.04 으로 업그레이드 하기

    Date2019.12.22 ByDDART Views2557
    Read More
  4. 윈도우10 아이콘이 제대로 표시 안될때

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

    Date2023.05.27 ByDDART Views2741
    Read More
  6. 우분투 16.04 에서 18.04 로 업그레이드하기

    Date2018.10.15 ByDDART Views2846
    Read More
  7. 윈도우에서 우분투 20.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

    Date2023.05.07 ByDDART Views2923
    Read More
  8. 윈도우에서 우분투 22.04 MariaDB 서버 SSL접속시 SEC_E_ALGORITHM_MISMATCH 오류

    Date2024.01.21 ByDDART Views2989
    Read More
  9. 아파치서버에서 웹소켓 특정포트 프락시설정방법

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

    Date2023.06.21 ByDDART Views3109
    Read More
  11. vsftpd 설정

    Date2017.12.12 ByDDART Views3114
    Read More
  12. 우분투 서버 자동업데이트

    Date2021.07.03 ByDDART Views3174
    Read More
  13. mysql/mariadb 손상된 inno db 복구

    Date2023.05.03 ByDDART Views3305
    Read More
  14. 윈도우 10 마이크로소프트 계정 PIN 없이 자동로그인

    Date2020.09.17 ByDDART Views3322
    Read More
  15. 윈도우 10에서 구글 어시스턴트 명령

    Date2019.09.09 ByDDART Views3442
    Read More
  16. 터미널에서 backspace 키가 안눌러질때

    Date2020.07.11 ByDDART Views3562
    Read More
  17. 우분투 서버 업데이트 후 자동 전원 대기모드 방지

    Date2021.07.23 ByDDART Views3627
    Read More
  18. 서버사이 동기화하기 - rsync, mariadb replication

    Date2020.07.07 ByDDART Views3674
    Read More
  19. 해외 IP차단

    Date2019.06.12 ByDDART Views3681
    Read More
  20. postfix 에서 mysql 오류

    Date2020.08.02 ByDDART Views3784
    Read More
Board Pagination Prev 1 2 3 ... 4 Next
/ 4