美文网首页
Nginx 配置 SSL 初探

Nginx 配置 SSL 初探

作者: 天然傲娇 | 来源:发表于2014-11-27 16:56 被阅读55次

    前阵子低价入了一个5年年限的 SSL 证书,域名恰好闲置中,于是自己也折腾了一下,去感受下 https 的魅力。

    以下是我的配置:

    server {
        listen 443 ssl;
        server_name example.com www.example.com;
    
        ssl_certificate /path/to/ssl.crt;
        ssl_certificate_key /path/to/ssl.key;
    
        location / {
            root /path/to/root;
            index index.html;
        }
    }
    
    server {
        listen 80;
        server_name example.com www.example.com;
    
        if ($host = 'example.com') {
            rewrite (.*) https://example.com$1 permanent;
        }
    
        if ($host = 'www.example.com') {
            rewrite (.*) https://www.example.com$1 permanent;
        }
    }
    

    我使用了 if 语句让一级域名和二级域名能够分别跳转到各自的 https 地址。即访问 http://example.com 会跳转到 https://example.com;访问 http://www.example.com 会跳转到 https://www.example.com。有没有更好的方法呢?

    不过还需要注意以下几点:

    • if 后面需要加空格,否则无法通过 nginx 的语法测试;
    • 网页中的 src 尽量不要包含 http:// 开头的地址,使用本地的相对地址或者加上 https:// 的本地文件链接,否则会提示网页不安全。
    • rewrite 和 301 重定向都是可以的,还不是特别理解两者的区别。(似乎前者能够分散 http 和 https 的权重,后者是永久重定向,在 SEO 方面才需要考虑?)

    希望自己能够有时间、精力、恒心去做完整个站点。以上。

    相关文章

      网友评论

          本文标题:Nginx 配置 SSL 初探

          本文链接:https://www.haomeiwen.com/subject/dytgtttx.html