wordpress - Varnish Wordpress SSL Apache

标签 wordpress apache ssl caching varnish

我正在使用 wordpress,我需要网页加速器。

我有 SSL,我决定安装 Varnish。

配置看起来像那样

请求 -> Apache (:443) -> Varnish (:80) -> Apache (:8080)。

一切正常,页面显示正确,我的标题是:

Accept-Ranges    bytes
Age  0
Connection   Keep-Alive
Content-Encoding    gzip
Content-Length  19699
Content-Type    text/html; charset=UTF-8
Date    Thu, 29 Nov 2018 21:11:24 GMT
Keep-Alive  timeout=5, max=100
Link    <https://.../>; rel="https://api.w.org/"
Link    
<https://test.manufakturakawy.com/?p=1>; rel=shortlink
Server  Apache/2.4.18 (Ubuntu)
Vary    Accept-Encoding
Via 1.1 varnish-v4
X-Pingback  https://..../xmlrpc.php
X-Varnish   33072

问题是“年龄”为 0。

我已经安装了 [plugin][1] 说:

Cache Service   Varnish caching service is running but is unable to cache your site.

Default.vcl 文件几乎是标准的:

 vcl 4.0;

# Default backend definition. Set this to point to your content server.
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

sub vcl_recv {
    # Happens before we check if we have this in cache already.
    #
    # Typically you clean up the request here, removing cookies you don't need,
    # rewriting the request, etc.


}

sub vcl_backend_response {
    # Happens after we have read the response headers from the backend.
    #
    # Here you clean the response headers, removing silly Set-Cookie headers
    # and other mistakes your backend does.

if (beresp.ttl == 120s) {

    set beresp.ttl = 1h;

  }

}

sub vcl_deliver {
    # Happens when we have all the pieces we need, and are about to send the
    # response to the client.
    #
    # You can do accounting or modifying the final object here.
}



  [1]: https://wordpress.org/plugins/varnish-http-purge/

你能支持我吗,我错过了什么?

最佳答案

我正在为 https://example.com 设置 OK , 但是 http://example.com不会重定向到 https://example.com

#/etc/httpd/conf.d/external-https.conf
<VirtualHost *:443>
        ServerName example.com
        ErrorLog              /var/log/httpd/external-https_error.log
        CustomLog             /var/log/httpd/external-https_access.log combined

        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/example.com.crt
        SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key

        ProxyPreserveHost       On
        RequestHeader set X-Forwarded-Port "443"
        RequestHeader set X-Forwarded-Proto "https"
        ProxyPass               / http://127.0.0.1:80/
        ProxyPassReverse        / http://127.0.0.1:80/
</VirtualHost>

#/etc/httpd/conf.d/internal-http.conf
<VirtualHost 127.0.0.1:8080>
        SetEnvIf X-Forwarded-Proto https HTTPS=on
        ServerName    example.com
        DocumentRoot  /var/www/html/example
        ErrorLog      /var/log/httpd/internal-http_error.log
        CustomLog     /var/log/httpd/internal-http_access.log combined
</VirtualHost>

CentOS 7 上的 Apache 版本 2.4.6

Apache 监听端口 8080

Varnish 版本 5.2

  • varnish 后端监听 8080 (vi/etc/varnish/default.vcl)
  • Varnish 参数监听 80 (vi/etc/varnish/varnish.params)

您可以阅读详细表格 https://bash-prompt.net/guides/apache-varnish/

关于wordpress - Varnish Wordpress SSL Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547833/

相关文章:

Javascript 返回页面加载

java - 在 proxypassreverse 设置中从 url 中删除应用程序名称

javascript - 英特尔 XDK SSL(API 安全)

SSL 证书 webmin

wordpress - 我的 WordPress 被黑客攻击了,但是黑客做了什么以及我该如何预防/修复所造成的损害

javascript - WooCommerce - 根据自定义字段添加费用

Apache Tomcat 6 显示访问被拒绝错误而不是身份验证质询

android - 使用 Android 和自签名证书

wordpress - 用于页面编辑的最佳 WordPress 插件?

php - 使用路由 53 和一个实例在 AWS 上托管多个网站