我正在使用 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)
关于wordpress - Varnish Wordpress SSL Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547833/