web-dev-qa-db-ja.com

NginxSSLターミネーションを使用したVarnishキャッシュ

SSLのみ(Httpsのみ)のWebサイトでnginx SSLターミネーションでワニスキャッシュを使用するにはどうすればよいですか?私はubuntu18.04を使用しており、現在サーバー上でwordpressサイトを実行しています。

1
Rahul Biswas

これまでのところ、完全な方法を追加します

mkdir/var/cache/nginx/cache
chown nginx:nginx/var/cache/nginx/cache


httpセクションの下にあるnginx.confを編集します

###New cache settings as default
proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=hd_cache:10m max_size=10g inactive=2d use_temp_path=off;
proxy_cache_methods GET HEAD POST;
proxy_cache_valid 200 302 3d;
proxy_cache_valid 404      1m;

/etc/nginx/sites-avaible/yoursite.comを編集します

#http to https redirect
server {
        server_name yoursite.com *.yoursite.com;
        listen 80;
        return 301 https://$Host$request_uri;
}

#https server
server {
        proxy_read_timeout 3600;
        listen 443 ssl http2;
        server_name yoursite.com *.yoursite.com;

#a special location in case don't cache this file can be deleted
location updater/serversettings.xml {
          expires -1;
          add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
        }

                #The root/rest will be redirected
                location / {
                        proxy_cache             hd_cache;
                        proxy_set_header        X-Cache-Status $upstream_cache_status;
                        proxy_cache_valid       200 1w;
                        proxy_pass              https://10.10.200.4;
                        proxy_set_header        Host $http_Host;
                        proxy_buffers           16 8m;
                        proxy_buffer_size       2m;
                        gzip on;
                        gzip_vary          on;
                        gzip_comp_level    9;
                        gzip_proxied       any;
}
    #SSL Cert section, as we require ssl, using certbot LetsEncrypt
    ssl_certificate /etc/letsencrypt/live/yoursite.com-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/yoursite.com-0001/privkey.pem; # managed by Certbot
}

次に、このサイトを有効にします。

ln -s /etc/nginx/sites-avaible/yoursite.com /etc/nginx/sites-enabled/yoursite.com

実行します

サービスNginxリロード

このセットアップはWordPressサイトで正常に機能し、95以上のページ速度カウンターが発生します

1
djdomi