本站也终于绿了!o(

 ̄︶ ̄

)o,使用的是Lnmp自带的申请Letsencrypt免费证书,证书有效期是3个月,但是会lnmp会自动帮助续签,所以基本等同于永久免费,现在记录一下这些默认的配置文件。

vim nginx.conf
#在末尾增加
server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name xxx.com www.xxx.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot;
        ssl on;
        ssl_certificate /usr/src/letsencrypt/fullchain.pem;
        ssl_certificate_key /usr/src/letsencrypt/privkey.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

        include wordpress.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log off;
    }

下面再做一个强制跳转至https访问,我这里使用的是nginx的301跳转。

vim nginx.conf
server
    {
        listen 80;
        #listen [::]:80;
        server_name xxx.com www.xxx.com;
        index index.html index.htm index.php default.html default.htm default.php;
        return 301 https://$server_name$request_uri;  #这里就是301跳转了。
    }