Arch Linux 웹 서버에서 HTTPS를 사용하는 방법

전제 조건

  • 최신 Arch Linux를 실행하는 Vultr 서버 ( 이 기사 참조 )
  • 실행중인 웹 서버 ( Apache 또는 Nginx)
  • 스도 액세스
    • 루트로 실행하는 데 필요한 명령 앞에는 접두사가 #있고 일반 사용자로 실행할 수있는 명령이 앞에 있습니다 $. 루트 권한으로 명령을 실행하는 권장 방법은 일반 사용자로서 각 접두어를 접두어로 사용하는 것입니다 sudo.
  • vi, vim, nano, emacs 또는 다른 유사한 편집기와 같은 텍스트 편집기가 설치되어 있어야합니다.

HTTPS를 통한 안전한 서비스

HTTPS를 통한 콘텐츠 제공은 매우 강력한 암호화를 사용할 수 있으므로 사용자와 웹 서버 간의 트래픽을 가로채는 사람이 읽을 수 없습니다. 트래픽 자체를 암호화 할뿐만 아니라 액세스중인 URL도 암호화하므로 정보가 노출 될 수 있습니다. 한동안 Google은 HTTPS Everywhere 이니셔티브의 일환으로 페이지가 HTTPS를 사용하는지 여부에 따라 검색 순위를 부분적으로 결정 해 왔습니다.

참고 : DNS 조회는 연결중인 도메인 이름을 노출하지만 해당 프로세스 중에 전체 URL이 노출되지 않습니다.

SSL / TLS 인증 획득

기술적으로 TLS는 HTTPS 인증서의 SSL을 대체했지만 대부분의 경우 SSL 인증서라는 일반적인 용어로 TLS 인증서를 계속 호출했습니다. 일반적인 사용법에 따라이 안내서는 동일하게 수행됩니다.

HTTPS를 사용하려면 웹 서버에서 개인용 .key으로 사용할 개인 키 ( )와 .crt공개 키를 포함하는 공개적으로 공유 할 인증서 ( )가 필요합니다. 인증서에 서명해야합니다. 직접 서명 할 수 있지만 최신 브라우저는 서명자를 인식하지 못한다고 불평합니다. 예를 들어 Chrome은 다음과 같이 표시 Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID됩니다. 개인 그룹의 사람들 만 웹 사이트를 사용하는 경우 브라우저가 진행 방법을 허용하므로 허용 될 수 있습니다. 예를 들어, Chrome에서 "고급"을 클릭 한 다음 "계속 ... (안전하지 않음)"을 클릭하십시오. 여전히 "보안되지 않음"으로 표시되고 "https"를 제거합니다.

이 과정에서 귀하의 국가, 주 / 제공, 지역, 조직, 조직 구성 단위 및 공통 이름과 전자 메일 주소를 요구합니다. HTTPS를 통해 사이트에 연결하는 모든 사람의 브라우저에서 액세스 할 수 있습니다.

또한 가상 호스트 인증서를 제공하는 경우 아래에 고유 한 파일 이름을 지정하고 가상 호스트 구성에서 해당 파일 이름을 지정해야합니다.

웹 서버에 적합한 디렉토리로 변경하십시오.

Apache를 설치 한 경우 :

$ cd /etc/httpd/conf

Nginx를 설치 한 경우 :

$ cd /etc/nginx

적절한 디렉토리에 들어가면 개인 키 ( server.key) 및 자체 서명 인증서 ( server.crt)를 생성하십시오.

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

읽기 전용 권한을 설정하고 개인 키만 루트로 읽을 수 있도록 허용하십시오.

# chmod 400 server.key
# chmod 444 server.crt

또는 신뢰할 수있는 인증 기관에서 서명 한 인증서를 얻을 수 있습니다. 다양한 회사 (인증 기관)에 지불하여 인증서에 서명 할 수 있습니다. 인증 기관을 고려할 때 어떤 브라우저와 어떤 버전에서 해당 브라우저를 인식하는지 확인하는 것이 중요 할 수 있습니다. 일부 최신 인증 기관은 이전 브라우저 버전에서 자체 서명 된 인증서보다 더 공식적인 것으로 인식되지 않을 수 있습니다.

일반적으로 공용 IP 주소뿐만 아니라 도메인 이름도 필요합니다. 일부 인증 기관은 공용 IP 주소로 인증서를 발급 할 수 있지만 거의 수행되지 않습니다.

많은 서비스 제공 업체가 30 일 무료 평가판을 제공하며,이 서비스를 시작하기 전에 요금이 청구되기 전에 프로세스가 제대로 작동하는지 확인하는 것이 좋습니다. 가격은 유형 및 여러 도메인 또는 하위 도메인과 같은 옵션에 따라 연간 몇 달러에서 수백 달러까지 다양합니다. 표준 인증서는 서명 기관이 인증서를 획득 한 사람이 도메인을 변경할 수 있음을 확인했음을 나타냅니다. Extended Validation 인증서는 서명 기관이 요청자에게 일부 실사를 수행했음을 나타내며 최신 브라우저에서는 URL 내부 또는 근처에 녹색 막대를 표시합니다. 도메인을 변경할 수 있음을 확인할 때 일부 서명 기관은 도메인 이름의 중요한 발신 주소로 이메일을 수신해야합니다.[email protected]. 단일 호스팅 디렉토리 구성을 위해 파일 /srv/http/.well-known/pki-validation/을 Apache 또는 /usr/share/nginx/html/.well-known/pki-validation/Nginx 에 배치하는 것과 같이 서버에 배치 할 파일을 제공하는 등의 대체 검증을 제공 합니다. 또는 CNAME 항목을 임시로 만들어 도메인의 DNS 레코드에 제공합니다.

선택한 서명 기관은 단계가 약간 다를 수 있지만 대부분 다음 절차를 따릅니다.

올바른 디렉토리에서 개인 키 ( server.key)를 생성하십시오 .

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

개인 키는 루트만으로 읽기 전용으로 설정하십시오.

# chmod 400 server.key

인증서 서명 요청 ( server.csr)을 생성하십시오 . 을 (를) 요청할 때 도메인 이름을 입력해야 Common Name하며 챌린지 암호를 비워 둘 수 있습니다.

# openssl req -new -sha256 -key server.key -out server.csr

인증서 서명 요청을 루트만으로 읽기 전용으로 설정하십시오.

# chmod 400 server.csr

인증서 서명 요청의 내용을 봅니다. 이 정보는 base64로 인코딩되므로 임의의 문자처럼 보입니다.

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

서명 기관의 프로세스를 진행하고 CSR에 붙여 넣기를 요청하면 해당 -----줄을 포함하여이 전체 파일을 복사하여 붙여 넣습니다 . 선택한 서명 기관 및 인증서 유형에 따라 서명 된 인증서를 즉시 제공하거나 며칠이 걸릴 수 있습니다. 서명 된 인증서를 제공 한 후에는 ( -----BEGIN CERTIFICATE----------END CERTIFICATE-----행 포함) 인증서를 server.crt웹 서버에 대해 위에 제공된 적절한 디렉토리에 라는 파일로 복사 하여 읽기 전용으로 설정하십시오.

# chmod 444 server.crt

개인 키 및 인증서를 사용하도록 웹 서버 구성

방화벽을 사용하는 경우 들어오는 TCP 트래픽을 포트로 활성화해야합니다 443.

아파치

/etc/httpd/conf/httpd.conf다음 행을 편집 하고 주석을 해제하십시오.

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

가상 호스트를 사용하는 경우 위와 같이 변경하면 /etc/httpd/conf/httpd.conf모든 호스트에서 동일한 인증서가 사용됩니다. 브라우저가 도메인 이름과 일치하지 않는 인증서에 대해 불만을 표시하지 않도록 각 호스트에 고유 한 인증서를 제공하려면 /etc/httpd/conf/vhosts/고유 한 인증서 및 개인 키를 가리 키도록 각 구성 파일을 편집해야합니다 .

  • 변경 <VirtualHost *:80><VirtualHost *:80 *:443>.
  • VirtualHost섹션 내에서 다음을 추가하십시오.

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Apache를 다시 시작하십시오.

# systemctl restart httpd

Nginx의 경우

/etc/nginx/nginx.conf하단을 편집 하고 근처에서 HTTPS server섹션의 주석 처리를 제거 하고 행을 다음과 같이 변경하십시오.

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

가상 호스트를 사용하는 경우 위와 같이 변경하면 /etc/nginx/nginx.conf모든 호스트가 해당 위치로 전송됩니다. 각 호스트에 자체 인증서를 제공하려면 각 구성 파일을 편집 /etc/nginx/sites-enabled/하여 자체 인증서 및 개인 키를 가리키는 추가 서버 블록을 갖도록해야합니다.

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Nginx를 다시 시작하십시오.

# systemctl restart nginx


반격 : 아치 리눅스에서 CSGO (Global Offensive) 서버 설정

반격 : 아치 리눅스에서 CSGO (Global Offensive) 서버 설정

이 튜토리얼은 Arch Linux에서 Counter-Strike : Global Offensive 서버를 설정하는 방법을 설명합니다. 이 학습서는 표준 사용으로 로그인했다고 가정합니다.

아치 리눅스에서 Mumble Server 설정

아치 리눅스에서 Mumble Server 설정

이 학습서는 Arch Linux에서 Mumble 서버 (Murmur)를 설정하는 방법을 설명합니다. 이 학습서에서 수행 된 모든 것은 루트 사용자로 수행됩니다. 설치

Arch Linux에 MongoDB 4.0을 설치하는 방법

Arch Linux에 MongoDB 4.0을 설치하는 방법

전제 조건 최신 Arch Linux를 실행하는 Vultr 서버 (이 기사 참조) Sudo 액세스 : 루트로 실행하는 데 필요한 명령 앞에는 #이 있고 하나는

Arch Linux에서 Team Fortress 2 서버 설정

Arch Linux에서 Team Fortress 2 서버 설정

이 학습서는 Arch Linux에서 Team Fortress 2 서버를 설정하는 방법을 설명합니다. sudo 액세스 권한이있는 루트가 아닌 사용자 계정으로 로그인했다고 가정합니다.

아치 리눅스에서 스피 곳 서버 설정

아치 리눅스에서 스피 곳 서버 설정

이 튜토리얼은 Arch Linux에서 Spigot을 사용하여 Minecraft 서버를 설정하는 방법을 설명합니다. 이 튜토리얼에서는 사용자가 루트가 아닌 일반 사용자이고 hav

아치 리눅스에서 패키지 만들기 (AUR 포함)

아치 리눅스에서 패키지 만들기 (AUR 포함)

Arch Linux에서 공식 저장소는 핵심, 추가 및 커뮤니티입니다. 이 패키지는 이미 컴파일되었으며 pacman을 통해 설치됩니다. 일

Vultr 서버에 Arch Linux 설치

Vultr 서버에 Arch Linux 설치

Vultr는 뛰어난 템플릿과 함께 사용자 정의 이미지를 사용할 수있는 뛰어난 기능을 제공하여 실행할 수 있습니다.

Btrfs 스냅 샷을 사용하여 Arch Linux 설치

Btrfs 스냅 샷을 사용하여 Arch Linux 설치

머리말 아치 리눅스는 최첨단 기술과 유연한 구성으로 잘 알려진 범용 배포판입니다. Btrfs 스냅 샷을 사용하면

Arch Linux에서 MariaDB 10.3 또는 MySQL 8.0을 설치하는 방법

Arch Linux에서 MariaDB 10.3 또는 MySQL 8.0을 설치하는 방법

전제 조건 최신 Linux Linux를 실행하는 Vultr 서버 (이 기사 참조) Sudo 액세스 : 루트로 실행해야하는 명령 앞에는 #이 있고 하나가 있습니다.

아치 리눅스에서 Devtools 사용하기

아치 리눅스에서 Devtools 사용하기

Devtools 패키지는 원래 신뢰할 수있는 사용자가 공식 리포지토리에 대한 패키지를 올바르게 만들도록 만들어졌습니다. 그러나 일반 사용자가 사용할 수 있습니다

Arch Linux 웹 서버에 Perl 5.28을 설치하는 방법

Arch Linux 웹 서버에 Perl 5.28을 설치하는 방법

전제 조건 최신 Linux Linux를 실행하는 Vultr 서버 (이 기사 참조) 실행중인 웹 서버 (Apache 또는 Nginx Sudo 액세스) : 명령에 필요

Arch Linux에 PostgreSQL 11.1을 설치하는 방법

Arch Linux에 PostgreSQL 11.1을 설치하는 방법

전제 조건 Arch Linux 최신 버전으로 실행되는 Vultr 서버 (이 기사 참조) Sudo 액세스. 루트로 실행하는 데 필요한 명령 앞에는 #이 있고 하나는

Arch Linux에 Apache 2.4를 설치하는 방법

Arch Linux에 Apache 2.4를 설치하는 방법

전제 조건 최신 Arch Linux를 실행하는 Vultr 서버. 자세한 내용은이 안내서를 참조하십시오. Sudo 액세스 root ar로 실행하는 데 필요한 명령

Arch Linux 웹 서버에 PHP 7.3을 설치하는 방법

Arch Linux 웹 서버에 PHP 7.3을 설치하는 방법

전제 조건 최신 Linux Linux를 실행하는 Vultr 서버 (이 기사 참조) 실행중인 웹 서버 (Apache 또는 Nginx Sudo 액세스). 명령에는

Arch Linux에서 Nginx 1.14를 설치하는 방법

Arch Linux에서 Nginx 1.14를 설치하는 방법

전제 조건 Arch Linux 최신 버전으로 실행되는 Vultr 서버 (이 기사 참조) Sudo 액세스. 루트로 실행하는 데 필요한 명령 앞에는 #이 붙습니다. Th

Vultr 서버에 2019 Arch Linux 설치

Vultr 서버에 2019 Arch Linux 설치

소개 아치 리눅스는 더 널리 보급 된 배포판보다 작지만 여전히 강력합니다. 그것의 철학은 장점이 상당히 다릅니다.

아치 리눅스에서 Makepkg 사용하기

아치 리눅스에서 Makepkg 사용하기

makepkg를 직접 사용하면 시스템이 다소 오염됩니다. 기본 개발 패키지 그룹이 설치되어 있어야합니다. 이 방법은 기본적으로 의존성이 필요할 때

아치 리눅스 웹 서버에 Python 3.7을 설치하는 방법

아치 리눅스 웹 서버에 Python 3.7을 설치하는 방법

전제 조건 최신 Linux Linux를 실행하는 Vultr 서버 (이 기사 참조) 실행중인 웹 서버 (Apache 또는 Nginx Sudo 액세스) : 명령에 필요

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.