콘텐츠로 건너뛰기

[AWS 라이트세일] 호스팅KR 도메인 연결 및 HTTPS, SSL 인증

고정 IP 설정
AWS와 호스팅KR 간, IP와 도메인 동기화
HTTPS, SSL 인증서 생성
워드프레스 사용자라면, wp-config.php 수정

[잉여타임즈] 호스팅KR, 아마존 라이트세일, HTTPS-SSL
[잉여타임즈] 호스팅KR, 아마존 라이트세일, HTTPS-SSL

사실, 서로 유기적으로 연관성이 있어 한번에 진행 할 뿐, 별 내용 없으니 알아보도록 한자. 순서는 아래와 같다.


짧게 내용을 요약하자면, AWS 인스턴스의 IP주소가 변경되지 않도록 고정한다. 그리고 AWS와 호스팅KR의 연관성을 만들기 위해 설정한다. 마지막으로 AWS SSH터미널에서 HTTPS, SSL인증서 자동생성 툴을 실행한다. 렛츠 기릿?

1. 고정 IP 생성 (AWS 라이트세일)

AWS 인스턴스를 생성하면 임이의 IP가 할당되는데, 이는 AWS운영규칙에 따라서 변경될 소지가 있느듯 싶다. 해서 이를 고정해 나만의 IP를 할당 할 수 있다.

[ 네트워킹 > 고정 IP 생성 ]에서 본인 인스턴스를 선택해 생성하면 인스턴스 블럭에 할당된 고정 IP가 확인된다.

[잉여타임즈] AWS 라이트세일 – 고정 IP 생성
[잉여타임즈] AWS 라이트세일 – 고정 IP 생성


2. DNS 영역 생성 (AWS 라이트세일)

사용자가 호스팅KR의 나의 도메인을 통해 접속을 시도하면, 고정 IP를 타고 AWS DNS 영역 설정을 따라 나의 인스턴스에 접속이 되는 흐름이다.

[ 네트워킹 > DNS 영역 생성 ]을 한다. 생성 시, 이름은 내가 보유한 도메인이 되겠다. 이후 관리를 누른다.

[잉여타임즈] AWS 라이트세일 – DNS 영역 생성
[잉여타임즈] AWS 라이트세일 – DNS 영역 생성


레코드 추가를 통해 A레코드 2개를 생성한다. 하나는 @ 로, 또 하나는 www로 생성한다. 문론, 연결할 인스턴스를 선택한다.

[잉여타임즈] AWS 라이트세일 – DNS 레코드 생성
[잉여타임즈] AWS 라이트세일 – DNS 레코드 생성


3. DNS레코드 관리 (호스팅KR)

호스팅KR에 [ 도메인 관리 > 나의 도메인 ]에 진입니다.

DNS레코드 관리에 1번(AWS 라이트세일 – 고정 IP 생성)에서 고정한 IP로 A레코드 2개를 생성한다. 이도 2번과 마찬가지로 @와 www를 생성한다.

[잉여타임즈] 호스팅KR – DNS 레코드 추가
[잉여타임즈] 호스팅KR – DNS 레코드 추가


AWS 라이트세일은 도메인 공급자(호스팅KR)에서 그들이 제공하는 이름 서버를 사용하도록 권고하고 있는 듯 싶다. 하지만, 이를 따를 시 호스팅KR이 제공하는 파킹, 포워딩, 티스토리 블로그 서브 도메인으로 등록과 같은 서비스를 사용 할 수 없다.

해서, 현재의 방식을 따른다. 추후 단점이 보일 시 포스팅 수정토록 한다.


4. HTTPS, SSL 인증서 생성 (AWS SSH 터미널)

3번까지 했다면, 나의 도메인으로 접속 시도시, 접속은 되는듯 싶으나 신뢰 할 수 없는 사이트 경고가 표출 될 것이다. 로딩이 돌거나 접속 불가시, 10분 정도 기다려 본다.

AWS 라이트세일 SSH 터미널에 접속한다. 아래를 따라 설정을 진행한다.
Domain list는 본인 도메인의 www없는 것과 있는 것 2개를 입력한다. 스페이스로 구분하면 되겠다.

bitnami@ip-xxx:~$ sudo /opt/bitnami/bncert-tool
----------------------------------------------------------------------------
Welcome to the Bitnami HTTPS Configuration tool.

----------------------------------------------------------------------------
Domains

Please provide a valid space-separated list of domains for which you wish to
configure your web server.

Domain list []: surplstimes.com www.surplstimes.com

----------------------------------------------------------------------------
Enable/disable redirections

Please select the redirections you wish to enable or disable on your Bitnami
installation.

Enable HTTP to HTTPS redirection [Y/n]: y

Enable non-www to www redirection [Y/n]: y

Enable www to non-www redirection [y/N]: n

----------------------------------------------------------------------------
Changes to perform

The following changes will be performed to your Bitnami installation:

1. Stop web server
...
7. Start web server once all changes have been performed

Do you agree to these changes? [Y/n]: y

----------------------------------------------------------------------------
Create a free HTTPS certificate with Let's Encrypt

Please provide a valid e-mail address for which to associate your Let's Encrypt
certificate.

Domain list: surplstimes.com www.surplstimes.com

Server name: www.surplstimes.com

E-mail address []: surplstimes@gmail.com

The Let's Encrypt Subscriber Agreement can be found at:

https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf

Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: y

----------------------------------------------------------------------------
Performing changes to your installation

The Bitnami HTTPS Configuration Tool will perform any necessary actions to your
Bitnami installation. This may take some time, please be patient.

----------------------------------------------------------------------------
Success

The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.

The configuration report is shown below.

Backup files:
* /opt/bitnami/apache/conf/httpd.conf.back.202210231039
...
* /opt/bitnami/apache/conf/vhosts/wordpress-vhost.conf.back.202210231039

Find more details in the log file:

/tmp/bncert-202210231039.log

If you find any issues, please check Bitnami Support forums at:

https://github.com/bitnami/vms

Press [Enter] to continue:


본인 도메인으로 접속해 본다. 신뢰할 수 없는 사이트 경고가 뜨는가?
아니라면, 성공한 것이다.

5. wp-config.php 수정 (AWS SSH 터미널) – 워드프레스 사용자만 해당

기능 상 문제는 없지만, 보안 관련해 변경한 도메인 설정을 워드프레스 wp-config.php에 반영해 주여야 관리자 페이지에 경고가 발생하지 않는다. SSH 터미널에 접속해 wp-config.php 파일을 연다.

[잉여타임즈] AWS SSH 터미널 - 워드프레스 wp-config.php 수정
[잉여타임즈] AWS SSH 터미널 – 워드프레스 wp-config.php 수정


파일 후반부에 WP_HOME과 WP_SITEURL을 나의 도메인으로 수정 후 저장한다.

/**
 * The WP_SITEURL and WP_HOME options are configured to access from any hostname or IP address.
 * If you want to access only from an specific domain, you can modify them. For example:
 *  define('WP_HOME','http://example.com');
 *  define('WP_SITEURL','http://example.com');
 *
 */
if ( defined( 'WP_CLI' ) ) {
	$_SERVER['HTTP_HOST'] = '127.0.0.1';
}

// before
//define( 'WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
//define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/' );
// after
define( 'WP_HOME', 'https://www.surplstimes.com' . '/' );
define( 'WP_SITEURL', 'https://www.surplstimes.com' . '/' );

define( 'WP_AUTO_UPDATE_CORE', 'minor' );


함께보면 좋을 글


[잉여타임즈] surplstimes@gmail.com