@TOC
废话不多说!
第一步:Nginx的ssl模块安装
进到Nginx的sbin目录执行./nginx -V
检查是否安装了ssl
出现 (configure arguments: --with-http_ssl_module
)可以忽略以下操作直接第二步,否则需要安装
进入Nginx安装包目录执行:
./configure --prefix=/usr/local/nginx \
--with-cc-opt=-O2 \
--with-http_realip_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-stream \
--with-stream_ssl_module
然后执行make
进行编译
编译完成后会在当前目录下生成objs文件夹,nginx文件在文件夹内,替换掉sbin里面的nginx。
#替换
cp objs/nginx /usr/local/nginx/sbin
#回到sbin
cd /usr/local/nginx/sbin
#查看ssl
./nginx -V
#赋予权限
chmod 111 nginx
如图可以看到configure arguments: --with-http_ssl_module 证明已经安装ssl成功
第二步:上传并配置ssl证书
解压缩下载好的证书(证书一般是pem文件和key文件,这里名字可以随便改)
将下载好的证书上上传到服务器,我将证书放在了conf目录下的card文件夹。
编辑 nginx.conf
vim /usr/local/nginx/conf/nginx.conf
参考如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443; #监听443端口 注意:需要防火墙开放443端口。
server_name www.xxx.com; #你的域名
#ssl证书的pem文件路径
ssl_certificate /usr/local/nginx/conf/cart/www.xxx.com_bundle.pem;
#ssl证书的key文件路径
ssl_certificate_key /usr/local/nginx/conf/cart/www.xxx.com.key;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://www.xxx.com:8888; #你的项目网关入口
}
}
server {
listen 80;
server_name www.xxx.com;
#将请求转成https
rewrite ^(.*) https://$server_name$1 permanent;
}
}
保存退出wq
回到sbin
./nginx -s reload #重载配置文件
./nginx -s stop #停止运行
./nginx #重新启动
ok,配置https到此就结束了,大功告成了,请开始你的CV大法。