인증서 신청
현재 온라인에는 개인 무료 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
1_weizhimiao.cn_bundle.crt(공개 키)
weizhimiao.cn.key(개인 키)
< /li>
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 추가됨 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!