> 운영 및 유지보수 > 엔진스 > Nginx 서버 https를 구성하는 방법

Nginx 서버 https를 구성하는 방법

WBOY
풀어 주다: 2023-05-23 11:01:06
앞으로
1583명이 탐색했습니다.

인증서 신청

현재 온라인에는 개인 무료 SSL 인증서를 제공하는 많은 조직이 있으며 유효 기간은 몇 달에서 몇 년까지입니다. startsl: https://www.startssl.com을 예로 들어보세요. 성공적으로 신청한 후 3년 동안 유효하며 만료 후 무료로 갱신할 수 있습니다.

구체적인 신청 절차도 매우 간단합니다.

등록 및 로그인 후 인증서 마법사 >>를 선택하여 무료 SSL 인증서를 신청하세요.

이메일을 통해 도메인 이름을 확인한 후 자체 서버에서 SSL 인증서의 csr을 생성하고, 생성된 입력의 비밀을 기억하고 다음을 사용하세요.

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr
로그인 후 복사

생성된 인증서를 지정된 디렉터리에 넣습니다. 인증서는 /data/secret/와 같이 저장됩니다. 인증서 weizhimiao.csr의 내용을 확인하고 해당 내용을 페이지의 인증서 서명 요청(csr) 섹션에 복사한 후 페이지를 제출하세요. /data/secret/ 。查看证书 weizhimiao.csr 内容,将内容复制到页面中的 certificate signing request (csr)部分,提交页面。

下载生成好的证书,选择对应的web服务器(nginx,1_weizhimiao.cn_bundle.crt),这样私钥和公钥我们就都有了。

  • 1_weizhimiao.cn_bundle.crt(公钥)

  • weizhimiao.cn.key(私钥)

nginx配置(为指定域名增加https)

nginx.conf当前配置

...
http {
 ...
 include /etc/nginx/conf.d/*.conf;

 server {
  ...
 }
}
로그인 후 복사

./conf.d/weizhimiao.cn.conf中加入

server{
 listen 443 ssl;
 server_name weizhimiao.cn;

 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers on;
 ssl_protocols tlsv1 tlsv1.1 tlsv1.2;

 ssl_ciphers 'keecdh+ecdsa+aes128 keecdh+ecdsa+aes256 keecdh+aes128 keecdh+aes256 kedh+aes128 kedh+aes256 des-cbc3-sha +sha !anull !enull !low !md5 !exp !dss !psk !srp !kecdh !camellia !rc4 !seed';

 add_header strict-transport-security 'max-age=31536000; preload';
 add_header x-frame-options deny;
 ssl_session_cache shared:ssl:10m;
 ssl_session_timeout 10m;
 keepalive_timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header x-content-type-options nosniff;

 add_header x-xss-protection 1;

 root /data/www/weizhimiao.cn;
 index index.html;

 location / {

 }
}
로그인 후 복사

注:

配置中用到一个 /data/secret/dhparam.pem 文件,该文件是一个pem格式的密钥文件,用于tls会话中。用来加强ssl的安全性。生成该文件方法,

cd /data/secret/
openssl dhparam 2048 -out dhparam.pem
로그인 후 복사

将原来80端口的访问,重定向。./conf.d/weizhimiao.cn.conf中加入

server{
 listen 80;
 server_name weizhimiao.cn;
 return 301 https://weizhimiao.cn$request_uri;
}
로그인 후 복사

测试

检测配置文件是否有语法错误,需要输入之前生成公钥时输入的密码。

nginx -t
enter pem pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
로그인 후 복사

重启nginx(切记,reload不起作用)

nginx -s stop
enter pem pass phrase:
nginx
enter pem pass phrase:
로그인 후 복사

浏览器访问 weizhimiao.cn ,是否生效。

另,nginx配置了安全证书之后,nginx每次的reload、stop等操作都需要输入密码。

可以通过生成一个解密的key文件,替代原来key文件。

cd /data/secret/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure
로그인 후 복사

替换 weizhimiao.cn.conf 中的 weizhimiao.cn.key

생성된 인증서를 다운로드하고 해당 웹 서버(nginx, 1_weizhimiao.cn_bundle.crt)를 선택하면 개인 키와 공개 키가 모두 확보됩니다.

  • 1_weizhimiao.cn_bundle.crt(공개 키)

  • weizhimiao.cn.key(개인 키)

    < /li>

nginx 구성(지정된 도메인 이름에 대해 https 추가) Nginx 서버 https를 구성하는 방법

nginx.conf 현재 구성

server {
 ...
 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key.unsecure;
 ...
}
로그인 후 복사

./conf.d/weizhimiao.cn.conf 추가됨 Nginx 서버 https를 구성하는 방법rrreee

참고: 🎜🎜 구성 pem 형식의 키 파일로 tls 세션에서 사용되는 /data/secret/dhparam.pem 파일을 사용합니다. SSL의 보안을 강화하는 데 사용됩니다. 이 파일을 생성하는 방법인 🎜rrreee🎜는 원래 액세스를 포트 80으로 리디렉션합니다. 구성 파일에 구문 오류가 있는지 감지하기 위해 🎜rrreee🎜🎜test🎜🎜🎜을 ./conf.d/weizhimiao.cn.conf에 추가했습니다. 공개 키를 생성할 때 입력한 비밀번호를 입력해야 합니다. 🎜rrreee🎜nginx를 다시 시작하세요(다시 로드가 작동하지 않음을 기억하세요)🎜rrreee🎜브라우저로 weizhimiao.cn을 방문하여 적용되는지 확인하세요. 🎜🎜또한 nginx를 보안 인증서로 구성한 후 nginx는 다시 로드, 중지 및 기타 작업을 수행할 때마다 비밀번호를 요구합니다. 🎜🎜복호화된 키 파일을 생성하여 원본 키 파일을 대체할 수 있습니다. 🎜rrreee🎜weizhimiao.cn.conf에서 weizhimiao.cn.key 파일을 교체하세요. 🎜rrreee🎜다시 로드할 때마다 더 이상 비밀번호를 입력할 필요가 없습니다. 🎜🎜마지막으로 ssllabs를 사용하여 테스트합니다. 🎜🎜🎜🎜🎜결과🎜🎜🎜🎜

위 내용은 Nginx 서버 https를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿