当前位置 知且行 linux 正文 下一篇:

nginx使用免费ssl证书配置https服务器

现在的域名,不加上https都不好意思出来混了,没有https的网站总感觉是在裸奔。

对于个人站长,自然是不愿意花大价钱去买ssl证书,肯定是找免费的证书。本文以腾讯云为例,演示如何申请ssl证书

申请证书

进入ssl证书管理页

按照提示申请免费证书

成功颁发证书后,下载证书:

将下载的证书包解压,放到nginx的conf目录

$ ls | grep zhiqiexing
1_www.zhiqiexing.com_bundle.crt
2_www.zhiqiexing.com.key

nginx配置如下

监听443端口

server {
    listen 443;
    ssl on;
    ssl_certificate 1_www.zhiqiexing.com_bundle.crt;
    ssl_certificate_key 2_www.zhiqiexing.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;

    server_name www.zhiqiexing.com zhiqiexing.com;
    if ($http_host = zhiqiexing.com) {
        rewrite (.*) https://www.zhiqiexing.com$1;
    }

    root /home/code/site;

    location / {
        index  index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$query_string;
    }

    #proxy the php scripts to php-fpm
    include enable-php.conf;
}

监听80端口

此外,还需要将80端口的请求转发到443,并将主域名跳转到www域名,配置如下

server {
    listen 80;
    server_name zhiqiexing.com;
    rewrite ^(.*)$ https://www.$host$1 permanent;
}

server {
    listen 80;
    server_name www.zhiqiexing.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}

开放端口

重启nginx,测试是否成功,如果80端口的访问正常,而443端口https无法访问,要检查是否有开放443端口

  • 安全组规则是否有开放443端口

需要在云服务器控制器查看

  • linux服务器防火墙的设置

# 查看开放的端口
$ firewall-cmd --list-ports
# 添加443端口
$ firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重启防火墙
$ firewall-cmd --reload

综上,即可使用免费的ssl证书,给自己的网站加个绿色的小锁,瞬间成为一个权威机构网站的感觉。

转载必须注明出处:https://www.zhiqiexing.com/114.html

关于我

我希望能成为一个认真、有趣、创造更多价值的人
关注微信
微信扫一扫关注我

微信扫一扫关注我

返回顶部