단방향 SSL 구성 예:
server{ listen 443 ssl; server_name www.123.com; root /data/wwwroot/www.123.com/ ; index index.html ; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL; ssl_prefer_server_ciphers on; location / { } }
구성 지침:
1. 443端口为ssl监听端口。 2. ssl on表示打开ssl支持。 3. ssl_certificate指定crt文件所在路径,如果写相对路径,必须把该文件和nginx.conf文件放到一个目录下。 4. ssl_certificate_key指定key文件所在路径。 5. ssl_protocols指定SSL协议。 6. ssl_ciphers配置ssl加密算法,多个算法用:分隔,ALL表示全部算法,!表示不启用该算法,+表示将该算法排到最后面去。 7. ssl_prefer_server_ciphers 如果不指定默认为off,当为on时,在使用SSLv3和TLS协议时,服务器加密算法将优于客户端加密算法。
참고:
nginx는 소스 코드 설치 중에 기본적으로 SSL 모듈을 활성화하지 않습니다. 설치 명령은 다음과 같습니다. 다음:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
그런 다음 nginx를 다시 시작하세요
이중 줄 SSL 구성 예
server{ listen 443 ssl; server_name www.123.com; root /data/wwwroot/www.123.com/ ; index index.html ; ssl_certificate server.crt; ssl_certificate_key server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!eNULL; ssl_prefer_server_ciphers on; ssl_client_certificate ca.crt; //这里的ca.crt是根证书公钥文件 ssl_verify_client on; location / { } }
설명:
단방향보다 굵게 표시된 줄이 두 개 더 있지만 양방향이 구성된 후에는 서버도 다음을 수행해야 합니다. 일반적인 상황에서는 SSL을 사용하는 것이 더 일반적입니다.
참고:
저희 인증서는 자체 구축 CA에서 발급한 인증서이기 때문에 브라우저가 인증서를 신뢰하지 않으므로 접속 시 "인증서를 신뢰할 수 없습니다"라는 메시지가 표시됩니다.
이 경우 CA의 루트 인증서를 브라우저의 "신뢰할 수 있는 루트 인증 기관"으로 가져오기만 하면 되며 더 이상 "인증서를 신뢰할 수 없습니다"라는 메시지가 표시되지 않습니다.
Windows에서 사용 가능한 인증서로 내보내는 방법은 다음과 같습니다.
[root@localhost root_ca]# openssl pkcs12 -export -inkey private/ca.key -in
내보낸 인증서를 Windows에 복사하고 두 번 클릭하여 설치한 후 마법사를 따라 "신뢰할 수 있는 루트 인증 기관"으로 가져옵니다.
위 내용은 nginx에서 SSL을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!