Nginx·´ÏòÊðÀíSSLÉèÖ㬼ÓÃÜÍøÕ¾Êý¾Ý´«Êä
nginx·´ÏòÊðÀísslÉèÖ㬼ÓÃÜÍøÕ¾Êý¾Ý´«Êä
Ëæ×Å»¥ÁªÍøµÄÉú³¤£¬ÍøÂçÇå¾²ÎÊÌâÈÕÒæÒýÆðÈËÃǵĹØ×¢¡£ÎªÁ˱£»¤ÍøÕ¾Êý¾Ý´«ÊäµÄÇå¾²ÐÔ£¬ÍøÕ¾ÖÎÀíÔ±Ò»Ñùƽ³£»áʹÓÃSSL¼ÓÃÜÀ´ÔöÇ¿Êý¾ÝµÄ±£»¤¡£NginxÊÇÒ»¿î¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬ÔÚÉèÖÃSSLʱҲʮ·ÖÎÞаºÍÀû±ã¡£
±¾ÎĽ«ÏÈÈÝÔõÑùÔÚNginxÖÐÉèÖ÷´ÏòÊðÀíºÍSSL¼ÓÃÜ£¬ÒÔÈ·±£ÍøÕ¾Êý¾Ý´«ÊäµÄÇå¾²ÐÔ¡£
Ê×ÏÈ£¬È·±£Ð§ÀÍÆ÷ÉÏÒѾװÖÃÁËNginx¡£È»ºó£¬ÎÒÃÇÐèҪ׼±¸SSLÖ¤ÊéÎļþ¡£Ò»Ñùƽ³£À´Ëµ£¬SSLÖ¤Êé¿ÉÒÔͨ¹ýµÚÈý·½»ú¹¹¹ºÖã¬Ò²¿ÉÒÔ×Ô¼º½¨Éè×ÔÊðÃûÖ¤Êé¡£ÕâÀïÒÔ×ÔÊðÃûÖ¤ÊéΪÀý£¬ËµÃ÷ÉèÖõİ취¡£
°ì·¨1£ºÌìÉú˽ԿÎļþ
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÌìÉúÒ»¸ö˽ԿÎļþ£¬ÓÃÓÚЧÀÍÆ÷Óë¿Í»§¶ËÖ®¼äµÄ¼ÓÃÜͨѶ¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÌìÉú£º
$ openssl genrsa -out private.key 2048
µÇ¼ºó¸´ÖÆ
Õ⽫ÌìÉúÒ»¸öÃûΪprivate.keyµÄ˽ԿÎļþ¡£
°ì·¨2£ºÌìÉúÖ¤ÊéÊðÃûÇëÇóÎļþ
½ÓÏÂÀ´£¬ÎÒÃÇÐèÒªÌìÉúÒ»¸öÖ¤ÊéÊðÃûÇëÇó£¨Certificate Signing Request£¬CSR£©Îļþ£¬ÓÃÓÚÏòÖ¤Êé½ÒÏþ»ú¹¹£¨Certificate Authority£¬CA£©ÉêÇë½ÒÏþÖ¤Êé¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÌìÉú£º
$ openssl req -new -key private.key -out csr.csr
µÇ¼ºó¸´ÖÆ
Õ⽫ÌìÉúÒ»¸öÃûΪcsr.csrµÄÖ¤ÊéÊðÃûÇëÇóÎļþ¡£
°ì·¨3£ºÌìÉú×ÔÊðÃûÖ¤Êé
ÈôÊDz»Ï빺ÖÃÖ¤Ê飬¿ÉÒÔ×Ô¼º½¨ÉèÒ»¸ö×ÔÊðÃûÖ¤Êé¡£¿ÉÒÔʹÓÃÒÔÏÂÏÂÁîÌìÉú£º
$ openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
µÇ¼ºó¸´ÖÆ
Õ⽫ÌìÉúÒ»¸öÃûΪcertificate.crtµÄ×ÔÊðÃûÖ¤ÊéÎļþ¡£
°ì·¨4£ºÉèÖÃNginxЧÀÍÆ÷
ÔÚNginxµÄÉèÖÃÎļþÖУ¬Ìí¼ÓÒÔÏÂÄÚÈÝ£¬¾ÙÐз´ÏòÊðÀíºÍSSLÉèÖãº
server { listen 80; server_name example.com; location / { proxy_pass https://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; location / { proxy_pass https://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
µÇ¼ºó¸´ÖÆ
ÉÏÊöÉèÖÃÖУ¬example.comΪÏëÒªÉèÖÃSSLµÄÍøÕ¾ÓòÃû£¬backend_serverΪºó¶ËЧÀÍÆ÷µÄµØµã¡£
ÔÚÉèÖÃÍê³Éºó£¬ÖØÆôNginxЧÀÍÆ÷ʹÉèÖÃÉúЧ¡£ÕâÑù£¬Nginx¾Í»á½«Óû§µÄÇëÇó´Ó80¶Ë¿Ú£¨·Ç¼ÓÃÜ£©×ª·¢ÖÁ443¶Ë¿Ú£¨¼ÓÃÜ£©£¬ÊµÏÖSSL¼ÓÃÜ´«Êä¡£
×ܽá
ʹÓÃNginx¾ÙÐз´ÏòÊðÀíºÍSSLÉèÖã¬Äܹ»ÌṩԽ·¢Çå¾²µÄÊý¾Ý´«Ê䡣ͨ¹ýÌìÉú×ÔÊðÃûÖ¤ÊéºÍÉèÖÃNginxЧÀÍÆ÷£¬¿ÉÒÔʹÍøÕ¾Êý¾ÝµÄ´«ÊäÀú³Ì»ñµÃ±£»¤¡£ËäÈ»£¬ÈôÊÇÓÐÌõ¼þ£¬Õվɽ¨Ò鹺ÖÃÕýʽµÄSSLÖ¤Ê飬ÒÔ»ñµÃ¸ü¸ßµÄ¿ÉÐŶȡ£
Ï£ÍûÕâƪÎÄÕÂÄܹ»×ÊÖú¸÷ÈËÏàʶNginx·´ÏòÊðÀíSSLÉèÖõİ취£¬²¢ÔöÇ¿ÍøÕ¾Êý¾Ý´«ÊäµÄÇå¾²ÐÔ¡£ÈôÊÇÓÐÈκÎÎÊÌ⣬½Ó´ýÁôÑÔÌÖÂÛ¡£
ÒÔÉϾÍÊÇNginx·´ÏòÊðÀíSSLÉèÖ㬼ÓÃÜÍøÕ¾Êý¾Ý´«ÊäµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡