SSL 인증서 설정

이번에 일어난 일



이벤트: 한 웹페이지가 ssh에 연결할 수 없습니다.
원인: Apache 설정이 누락되었고 자동 업데이트가 잘못되었으며 SSL 인증서가 만료되었습니다.
목표: SSL 인증서를 재발행합니다.

예를 들어, 야후 URL의 🔒 마크를 클릭하면 SSL 인증서를 실제로 볼 수 있습니다.


주) SSL과 SSH의 차이
· SSL (Secure Socket Layer) : 브라우저와 웹 서버 사이의 암호화
· SSH (Secure Shell) : 호스트 간 암호화
・SSH에서는, 통신하는 모든 상대의 공개키를 사전에 건네줄 필요가 있으므로, 통신 상대가 100명이라면 100명분의 공개키가 필요. 한편, SSL은 인증 기관이 발행 한 인증서 (이것이 하나의 공개 키에 해당)가 공개 키의 정당성을 입증합니다.

환경



인증국 : Let's encrypt (인증서의 유효기간은 90일(약 3개월)에 만료된다. 변경 불가.)
웹 서버 : Apache/2.4.6(CentOS)
 

대응



우선, 자동 갱신이 잘 되고 있는지 확인한다.

약 3개월마다 SSL 증명서의 유효기간이 만료되므로 3개월에 1회 증명서를 발행해야 한다. 수동으로는 힘들기 때문에 1개월에 1회 cron을 사용하여 자동 갱신할 수 있도록 설정하고 있다. (cron은, 정기적인 log의 취득 등에 사용된다)
$ crontab -l # 設定されているcronを表示
5 0 * * * /bin/php -f /var/www/upload/cron.php RemoveController removeExpireFiles
0 2 * * * cd /var/www/test; /bin/php -f zoho.php Zoho searchProductsRecords
0 2 * * * cd /var/www/html; /bin/php -f zoho.php Zoho searchProductsRecords 
| | | | | 
分時日月年に対応。アスタリスクは、任意の整数。

# 毎月24日の朝4時に一括更新 
00 04 24 * * /home/xxxx/letsencrypt/letsencrypt-auto renew --force-renew && sudo systemctl reload httpd


# 実際に更新してみる
$ /home/xxxx/letsencrypt/letsencrypt-auto renew --force-renew
うる覚えだが以下のような感じで返ってきた。
→ 成功したファイル → xxx, yyy
→ 失敗したファイル → wp-stg.zzz (動作テスト用のWordPress)
→ IMPORTANT NOTE(注意)
→ 失敗したファイルについてAレコード(後で説明する)を確認せよ


# いわれた通りAレコードを確認
$nslookup 失敗したドメイン #(name serverの略)
→ IPアドレスが表示されたのでドメインと紐づけされていることを確認

다른 원인으로서 아파치의 설정 파일 httpd.cof 의 기술 누락이 생각된다.
OS마다 설정 파일의 위치는 정해져 있는 것 같다. centOS라면/etc/httpd/conf/아래.

/etc/httpd
├ conf/
│ ├ httpd.conf
  │ └ magic

├ conf.d
│ ├ xxx.conf
  │ ├ yyy.conf
│ ├ wp.conf
  │ ├ ‥
│  

약간 까다로운 것이,
/etc/httpd/conf.d 디렉토리는, Apache를 이용하는 다른 어플리케이션들을 설정하는 디렉토리.

그리고 로드되는 순서가 포인트가 됩니다.
h tp // w w. 미안 xt. 이. jp/bぉg/세 rゔぇr_네토ぉrk/4084/

이상을 바탕으로 ...
# ⓶に当たる部分を設定。今回はWordPressの設定ファイルを見に行った。
$ less /etc/httpd/conf.d/wp.conf 

# ⓶の各ファイルの設定を⓷(VirtualHosts)の部分に記述していく。
$ less /etc/httpd/conf/httpd.conf # less後、sfift + g で一番下の行に行ける。 ⓷に行ける。

마지막으로,
# 設定ファイルを書き換えたら、Apacheに反映させる前にファイルの文法間違い等がないか、確認。
$ httpd -t
Syntax OK

# 設定ファイルに問題がないことが確認できたら、Apacheのサービスを再起動させて、設定を反映させる。
$ sudo systemctl reload httpd #systemctl [命令] [対象] #reloadとrestartは失敗したときの挙動が異なる。

設定ができたら、ブラウザからhttpsでアクセス。アクセス後、ブラウザから証明書が有効であるか確認。

참고
htps : // v.ぁsss d. jp / c ぉ d / 아 ws / 아마 젠 센 x - 아파치 24-sl /
htps : // 코 m / 리모에 c / ms / 81385 08cf772 굳이 5c 4

공부한 Linux 명령


$su #ユーザを指定しないとrootユーザへ切り替わる
$sudo su  #rootユーザのパスワードが分からない場合は、sudoコマンドでrootユーザとしてsuコマンドを実行することができる。
$sudo su - #ハイフンでrootのカレントディレクトリに移動。

$history grep|ひっかけるワード

$ps #プロセス情報の表示。
$ps -ef|grep httpd #(e 全て, f 詳細)
$ps -ef|more 

기타



루트 사용자 (신) 때, 프롬프트는 #. ⇔ exit로 일반 사용자에게

좋은 웹페이지 즐겨찾기