nginx配置ssl
一, 在原有安装文件下新增ssl模块
1.首先,找到Nginx安装包的位置。比如,我的是:/usr/local/src/nginx-1.15.1
cd /usr/local/src/nginx-1.15.1
如果还是找不到(比如删除了)。可以查看当前Nginx的版本号,重新下载一个。
2.生成新的Nginx配置。执行
/usr/local/nginx/sbin/nginx -V
查看configure arguments:后边有没有值,如果有,就复制下来。
然后执行
./configure --原来有的模块(如果有的话) --with-http_ssl_module
make
3.关闭现在运行的Nginx服务器。
/usr/local/nginx/sbin/nginx -s stop
4.OK,执行最后的步骤。把编译好的nginx覆盖掉原有的nginx。
cp ./objs/nginx /usr/local/nginx/sbin/
系统会提示是否覆盖,输入y。
启动nginx。
./nginx -c /usr/local/nginx/conf/nginx.conf
运行成功!!
二, 配置ssl证书
1. 生成ssl安全证书,
在nginx配置目录新建ssl.conf文件夹,cd到ssl.conf
第一步生成密钥: openssl genrsa -des3 -out c.com.key 1024
输入设置密码:123456 再次输入。
第二步生成证书请求:openssl req -new -key c.com.key -out c.com.csr
输入刚刚设置的密码
第三步拷贝一个不需要输入密码的密钥文件:openssl rsa -in c.com.key -out c.comss.key
输入设置的密码
第四步 配置自己的证书:openssl x509 -req -days 365 -in c.com.csr -signkey c.com.key -out c.com.crt
2. nginx.conf配置文件
增加一个server,
server {
listen 443 ssl;
server_name www.test.com;
ssl_certificate ssl.conf/c.com.crt;
ssl_certificate_key ssl.conf/c.com.key;
location / {
root /usr/local/nginx/html;
}
}
测试:本地配置hosts,浏览器访问https://www.test.com/test.html
访问出现:此网站的安全证书有问题, 则配置ok, 生产环境把买的证书放上去就可以了