这篇文章主要介绍了在Ningx服务器中启用SSL的配置方法,本文前提是已经在Linux系统下安装好了OpenSSL,需要的朋友可以参考下
生成证书
可以通过以下步骤生成一个简单的证书:
首先,进入你想创建证书和私钥的目录,例如:
1 | $ cd /usr/local/nginx/conf |
创建服务器私钥,命令会让你输入一个口令:
1 | $ openssl genrsa -des3 -out server.key 1024 |
创建签名请求的证书(CSR):
1 | $ openssl req -new -key server.key -out server.csr |
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
1 2 | $ cp server.key server.key.org $ openssl rsa - in server.key.org -out server.key |
启用一个 SSL 虚拟主机
在nginx.conf配置文件中编写:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | server { listen 443; server_name example.com; root /apps/www; index index.html index.htm; ssl on; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; # ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; } |
其中 ssl_certificate 表示 CA 文件,ssl_certificate_key 表示密钥文件。
如果想把 http 请求强制转到 https,可以这样:
1 2 3 4 5 6 | server { listen 80; server_name example.me; return 301 https://$server_name$request_uri; } |
来源:微点阅读 https://www.weidianyuedu.com