资讯专栏INFORMATION COLUMN

一天一点linux(19):配置https

liujs / 1366人阅读

摘要:配置腾讯云证书文档备注,手动编译安装需要安加入模块示例开启端口填写绑定证书的域名的错误日志默认网站根目录将以下路由下放到前台入口文件注意这里有先后顺序证书配置开启证书文件私钥文件配置会话超时时间配置共享会话缓存大小和用来限制连接只包含

Nginx配置https
#腾讯云证书文档
https://cloud.tencent.com/document/product/400/4143

备注,手动编译安装需要安加入 SSL 模块(http_ssl_module)

示例
server {
    # 开启https端口
    listen 443 ssl;
    # 填写绑定证书的域名
    server_name xxx.com;

    # nginx的错误日志
    access_log /var/log/nginx/sd-access.log;
    error_log /var/log/nginx/sd-error.log;

    # 默认网站根目录
    root /data/releases/websites/sd/htdocs;

    # 将以下路由下放到前台
    location ~ (^/taskm)|(^/perm)|(^/data) {
        try_files $uri /index.html;
    }

    location / {
        # 入口文件,注意这里有先后顺序
        index index.html index.php index.htm;
        if (!-e $request_filename) {
            rewrite . /index.php last;
        }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    # https证书配置
    # 开启ssl
    ssl on;
    # 证书文件
    ssl_certificate /usr/local/nginx/conf/ssl/xxxx.crt;
    # 私钥文件
    ssl_certificate_key /usr/local/nginx/conf/ssl/xxxx.key;
    # 配置会话超时时间
    ssl_session_timeout 5m;
    # 配置共享会话缓存大小
    ssl_session_cache shared:SSL:10m;
    # ssl_protocols 和 ssl_ciphers 用来限制连接只包含 SSL/TLS 的加強版本和算法
    # 配置协议
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    # 配置加密套件
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    # 优先采取服务器算法
    ssl_prefer_server_ciphers on;

    # Fastcgi服务器和程序(PHP,Python)沟通的协议.
    location ~ .php$ {
        # 设置监听端口
        fastcgi_pass   127.0.0.1:9000;
        # 设置nginx的默认首页文件,上面index设置过
        fastcgi_index  index.php;
        # 设置脚本文件请求的路径
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        # 引入fastcgi的配置文件
        include fastcgi_params;
        fastcgi_param SERVER_NAME $http_host;
        fastcgi_ignore_client_abort on;
        fastcgi_connect_timeout 600s;
        fastcgi_send_timeout 600s;
        fastcgi_read_timeout 600s;
    }

    # 对图片缓存时间设置
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
        expires 30d;
        access_log off;
    }

    # 对JS和CSS缓存时间设置
    location ~ .*.(js|css)?$ {
        expires 7d;
        access_log off;
    }
}

# 使用全站加密,HTTP 自动跳转 HTTPS, 注意配置这里上面就不能再监听80端口
server {
    # 80端口访问
    listen 80;
    # 配置访问域名 不包含协议
    server_name xxx.com;
    # 使用url重写模块重写url 访问非https的url重定向到http上去
    rewrite ^/(.*) https://$host/$1 permanent;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40585.html

相关文章

发表评论

0条评论

最新活动
阅读需要支付1元查看
<