如果安装nginx时,缺少ssl模块,做如下处理:
去到nginx的源码包,然后:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
配置完成后,执行:
make
不要执行make install,不然会覆盖之前的安装
备份之前安装好的nginx命令:
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
然后,将刚编译好的nginx覆盖掉之前的:
cp ./objs/nginx /usr/local/nginx/sbin/
然后重启nginx,-V查看
配置https:
server {
listen 80 default;
listen 443 ssl;
server_name aaa.com;
root /usr/local/nginx/html;
ssl_certificate /cert/aaa.com.crt;
ssl_certificate_key /cert/aaa.com.Key;
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_ciphers HIGH:!aNULL:!MD5:!DES:!3DES;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
# root html;
index index.html index.htm;
}
}
HTTP重定向到HTTPS:
server {
listen 80;
server_name aaa.com;
return 301 https://$server_name$request_uri;
}
# rewrite ^(.*)$ https://$host$1 permanent;
HTTPS重定向到HTTP:
将上面的监听改掉就OK了。