每天都学一点

Nginx环境下配置HTTPS

24 12月
作者:林健|分类:Linux

申请免费SSL证书

普通的SSL证书动辄好几千,简直令人发指。不过别担心,我找到了3个免费申请HTTPS证书的方式。
  • StartSSL也免费提供了一个证书(纯英文)

  • 阿里云免费提供的证书

  • 腾讯云免费申请

获得证书之后,下载至本地。

VPS上安装SSL证书

以Nginx 为例

获取证书

Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,
1_www.domain.com_bundle.crt 文件包括两段证书代码 “-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,
2_www.domain.com.key 文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
请输入图片描述

上传和部署SSL证书

将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/usr/local/nginx/conf目录下。更新Nginx根目录下 conf/nginx.conf 文件如下:
server
    {
        listen 80 default_server;
        listen 443 ssl;
        ssl on;
        ssl_certificate xxxx.xxx.crt;
        ssl_certificate_key xxxx.xxx.key;
        server_name xxxx.xxx;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/public;
                
                location / {
                        try_files $uri $uri/ /index.php$is_args$args;
                }
                
                location ~ [^/]\.php(/|$) {
                 # comment try_files $uri =404; to enable pathinfo
                 try_files $uri =404;
                 fastcgi_pass unix:/tmp/php-cgi.sock;
                 fastcgi_index index.php;
                 include fastcgi.conf;
                 #include pathinfo.conf;
                fastcgi_param PHP_ADMIN_VALUE "open_basedir = /home/wwwroot: /temp/:/proc";
                }
                
        access_log  /home/wwwlogs/access.log;
    }

配置文件参数

                 说明
listen 443 SSL访问端口号为443
ssl on 启用SSL功能
ssl_certificate 证书文件
ssl_certificate_key 私钥文件
ssl_protocols 使用的协议
ssl_ciphers 配置加密套件,写法遵循openssl标准

重启Nginx


输入 nginx -s reload :修改配置后重新加载生效
可以看到SSL证书生效,且HTTPS可以访问站点


    浏览2 评论0
    返回
    目录
    返回
    首页
    VPS必备环境一键安装脚本管理面板 sprov-ui,支持多协议多用户的v2ray管理面板

    发表评论