NGINX服务器下配置SSL证书

NGINX服务器下配置SSL证书

哪个文件去配置?

  配置nginx服务器的ssl证书要去nginx目录下中conf文件夹下的nginx.conf中寻找server,找到监听443端口的server,把#打开(即关闭掉注释),修改以下配置(仅供参考)

    server {
        listen 80;
        listen 443;
        server_name  1520.top;
        root   "D:\www\WEB";//ssl协议的根目录
        ssl                  on;
        ssl_certificate      D:/phpStudy/PHPTutorial/nginx/conf/ssl/ssl.pem;
        ssl_certificate_key  D:/phpStudy/PHPTutorial/nginx/conf/ssl/1520.key;

        ssl_session_timeout  5m;

        #ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers   on;

       location / {
            index  index.html index.htm index.php;
            autoindex on;
        }
        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

ssl_certificate这个需要配置你的证书的crt或者pem文件(域名证书公钥),ssl_certificate_key这个配置你的(私钥).key文件!

此时你可以去在地址栏输入你配置的域名https//1520.top  地址栏则提示绿色安全标志(当然这个证书一定要是和域名匹配的正规机构颁发,如果使用OpenSSL则提示证书隐患,不信任导致不安全标志)!

window下朋友们注意下:在配置ssl证书的路径时候要使用("/"表示层级,不要使用"\"表示),简单来说就是使用url路径,不要使用文件路径(D:\www\a.key)比如这个路径在配置时候不能用否则将无法启动NGINX,包括Apache下配置也是无法启动的,需要使用(D:/www/a.key)这样才可以!就是使用url地址栏中斜线(正斜线,不要使用文件路径的反斜线)进行分割层级目录!导致我配置出错,找原因困扰很久的就是这个斜线问题!

当然你可能输入没有https:// 请求头无法进行跳转,此时在配置里面简单写一句

    if ($server_port = 80) {  # http强制跳转https
        return 301 https://$server_name$request_uri;//301重定向到https
    }
    -----------------------------------------------------------------------
     if ($scheme = http) {  # http强制跳转https
        return 301 https://$server_name$request_uri;//301重定向到https
    }
    -------------------------------------------------------------------------
    任选其一,第一个判断端口,第二个判断协议

完整的配置参数如下:

    server {
        listen 80;
        listen 443;
        server_name  1520.top;
        root   "D:\www\WEB";//ssl协议的根目录
        ssl                  on;
        ssl_certificate      D:/phpStudy/PHPTutorial/nginx/conf/ssl/ssl.pem;
        ssl_certificate_key  D:/phpStudy/PHPTutorial/nginx/conf/ssl/1520.key;

        ssl_session_timeout  5m;

        #ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
       ssl_ciphers  HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers   on;
           if ($server_port = 80) {  # http强制跳转https
        return 301 https://$server_name$request_uri;//301重定向到https
    }

       location / {
            index  index.html index.htm index.php;
            autoindex on;
        }
        location ~ \.php(.*)$  {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
    }

NGINX配置SSL的基本就这些了,愿博主踩过的坑都为各位朋友在测试路上的铺垫,祝愿各位朋友顺利配置成功!如有问题请在下方留言,如有意见请留下宝贵意见!您的建议是我最大的进步!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码农二狗

不使用smtp直接发送邮件

25810
来自专栏Samego开发资源

你的网站HTTPS了吗 | Let’s Encrypt

37140
来自专栏java思维导图

【思维导图】深入理解HTTPS原理、过程

我们经常会遇到页面被运营商插入小广告这种事情(数据被篡改),可想而知,HTTP是有多么不安全。 如何做到的? 答:只需要设定相应的DNS,做一个中间人攻击,再...

41350
来自专栏落影的专栏

iOS如何保证下载资源的可靠性

前言 有时需要在本地存储资源,并且从服务器下载资源,因为涉及到运行期间的安全性,有必要添加校验的逻辑,因此有了本文的一些思考。 ipa包被篡改的情况 首先思考的...

46960
来自专栏张绍文的专栏

基于 TLS 1.3的微信安全通信协议 mmtls 介绍(下)

随着近些年网络安全事情的频繁发生,使得用户对网络通信安全的意识越来越强。国内外的网络服务提供商都逐渐提供全站的安全通信服务,如国内的淘宝、百度先后宣布已经完成了...

2.3K10
来自专栏QQ音乐技术团队的专栏

分析 Android V2 新签名打包机制

本文实现了一种在 apk 的签名块中写入信息,读取信息,删除信息还原 apk 等功能,验证了在签名块中写入信息可以通过 v2 检验的例子。

2.7K10
来自专栏小文博客

为你的博客注册登陆页面添加【十以内运算验证码】

16220
来自专栏阮一峰的网络日志

GPG入门教程

前两篇文章,我介绍了RSA算法。 今天,就接着来看,现实中怎么使用这个算法,对信息加密和解密。这要用到GnuPG软件(简称GPG),它是目前最流行、最好用的加密...

40170
来自专栏知无涯

服务器SSL不安全漏洞修复方案

60480
来自专栏惨绿少年

全站HTTPS简单实践

第一个里程碑:创建https证书 1 [root@web01 backup]# openssl req -new -x509 -nodes -out ser...

24100

扫码关注云+社区

领取腾讯云代金券