Nginx配置SSL证书 https网站搭建

自从chrome升级之后,每次打开我自己的网站,浏览器总是有个感叹号,看起来极其碍眼,以后https毕竟是发展趋势,索性就把网站升级成https
升级前的,有个感叹号

no_https

升级后的,有个小绿锁,好看多了~~
has_https

一、申请证书

使用acme.sh申请letsencrypt证书

  • 安装acme
curl  https://get.acme.sh | sh
  • 创建acme.sh快捷命令
alias acme.sh=~/.acme.sh/acme.sh

创建证书

  • nginx 方式
acme.sh --issue -d <域名> --nginx
  • -d 后面是域名
ca_issue_success

创建完成后,证书将放在

~/.acme.sh/<域名>路径下

创建证书保存目录

  • 在任意位置创建一个文件夹,名字可以任意
mkdir /var/www/ssl/
  • ~/.acme.sh/<域名>下的证书拷贝到/var/www/ssl/目录下
cp -r ~/.acme.sh/<域名>/ /var/www/ssl/

二、nginx 配置

配置nginx

server {
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;
    server_name <域名>;

    ssl on;
    ssl_certificate /var/www/ssl/<域名>/fullchain.cer;
    ssl_certificate_key /var/www/ssl/<域名>/<域名>.key;
}

配置http强制跳转到https(采用301方式)

server {
    listen 80;
    server_name laoyuyu.me www.laoyuyu.me;

    return 301 https://www.laoyuyu.me$request_uri;
}

三、安装证书

安装证书

acme.sh --installcert -d <域名> --key-file /var/www/ssl/<域名>/<域名>.key --fullchain-file /var/www/ssl/<域名>/fullchain.cer --reloadcmd "service nginx force-reload"
  • -d 后面是域名
  • --key-file 后面是<域名>.key 文件
  • --fullchain-file 后面是cer证书路径
  • --reloadcmd 为重启nginx的命令

三、常见问题

chrome 没有小绿锁

原因是,二级域名没有匹配
如:我这laoyuyu.me是匹配了,但是img.laoyuyu.me没有匹配,这样就不能出现小绿锁


chrome_https_load_fail

Too many certificates already

证书重置请求超过次数,一般 3 次,子域名除外。就会出现 Sign failed: “detail”:”Error creating new cert :: Too many certificates already issued for exact set of domains: devhitao.com, 5 天以后才可以再次重置。Rate Limits
解决方法:
不使用rewrite ^(.*)$ https://www.laoyuyu.me$1 permanent;方式,采用301跳转方式

同一个IP上配置多个HTTPS主机出现链接不安全问题

server {
    listen 443;
    server_name www.quwenqing.com;
    ssl on;
    ssl_certificate www.quwenqing.com.crt;
}

server {
    listen 443;
    server_name qwq.quwenqing.com;
    ssl on;
    ssl_certificate qwq.quwenqing.com.crt;
}

使用上面的配置,不论浏览器请求哪个主机,都只会收到默认主机www.quwenqing.com的证书。这是由SSL协议本身的行为引起的——先建立SSL连接,再发送HTTP请求,所以nginx建立SSL连接时不知道所请求主机的名字,因此,它只会返回默认主机的证书。

查看是否启用了TLS:

nginx -V
nginx version: nginx/1.4.6
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) 
TLS SNI support enabled

查看支持TLS协议支持版本:

nmap --script ssl-enum-ciphers -p 443 192.168.192.120

如果已经支持了,但是二级域名还是失败,检查listen [::]:80 ssl ipv6only=on; 80端口是否开启了ssl,如果有的话,删除这行就行了

server {
   # listen 80;
   # listen [::]:80 ssl ipv6only=on;
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;
    server_name <域名>;
    ssl on;
    ssl_certificate /var/www/ssl/<域名>/fullchain.cer;
    ssl_certificate_key /var/www/ssl/<域名>/<域名>.key;
}

四、个人nginx配置

server {
    listen 80;
    server_name laoyuyu.me www.laoyuyu.me;

    return 301 https://www.laoyuyu.me$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl ipv6only=on;

    root /var/www/hexo;
    server_name laoyuyu.me www.laoyuyu.me;

    ssl on;
    ssl_certificate /var/www/ssl/www.laoyuyu.me/fullchain.cer;
    ssl_certificate_key /var/www/ssl/www.laoyuyu.me/www.laoyuyu.me.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    location / {
           try_files $uri $uri/ =404;
    }
}

server {
    listen 80;
    server_name aria.laoyuyu.me;

    return 301 https://$server_name$request_uri;
}

server {
     listen 443 ssl;
     listen [::]:443 ssl;
     # root /var/www/gitbook;
     server_name aria.laoyuyu.me;

     ssl on;
     ssl_certificate /var/www/ssl/aria.laoyuyu.me/fullchain.cer;
     ssl_certificate_key /var/www/ssl/aria.laoyuyu.me/aria.laoyuyu.me.key;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

      location /aria_doc {
          alias /var/www/gitbook/;
          index index.html;
     }

     location / {
          rewrite (.*) https://github.com/AriaLyy/Aria redirect;
     }
}

参考文档

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容