|
131 | 131 | open_file_cache_errors on; |
132 | 132 |
|
133 | 133 | # to boost I/O on HDD we can disable access logs |
134 | | - access_log on; |
| 134 | + access_log off; |
135 | 135 |
|
136 | 136 | # copies data between one FD and other from within the kernel |
137 | 137 | # faster than read() + write() |
|
254 | 254 | } |
255 | 255 |
|
256 | 256 | location @prerender { |
257 | | - <?php if ($prerenderEnabled && $prerenderToken):?> |
258 | | - proxy_set_header X-Prerender-Token "<?=$prerenderToken?>"; |
259 | | - <?php endif;?> |
| 257 | + <?php foreach($prerenderHeaders as $name => $value):?> |
| 258 | + add_header "<?=$name?>" "<?=addslashes($value)?>"; |
| 259 | + <?php endforeach;?> |
260 | 260 |
|
261 | 261 | proxy_read_timeout 120s; |
262 | 262 | proxy_intercept_errors on; |
263 | 263 | proxy_buffering on; |
264 | 264 | proxy_cache STATIC; |
265 | | - proxy_cache_valid 200 12h; |
| 265 | + proxy_cache_valid 200 404 24h; |
266 | 266 | proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; |
267 | 267 |
|
268 | 268 | set $prerender 0; |
269 | | - if ($http_user_agent ~* "googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp|telegram|bot") { |
| 269 | + if ($http_user_agent ~* "bot|whatsapp|telegram|google|bing|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedin|embedly|quora link preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator") { |
270 | 270 | set $prerender 1; |
271 | 271 | } |
272 | 272 |
|
273 | 273 | if ($args ~ "_escaped_fragment_") { |
274 | 274 | set $prerender 1; |
275 | 275 | } |
276 | 276 |
|
277 | | - if ($http_user_agent ~ "Prerender") { |
| 277 | + if ($http_user_agent ~* "prerender") { |
278 | 278 | set $prerender 0; |
279 | 279 | } |
280 | 280 |
|
281 | | - # resolve using Google's DNS/Cloudflare server to force DNS resolution and prevent caching of IPs |
282 | | - resolver 8.8.8.8 8.8.4.4 1.1.1.1 1.0.0.1; |
| 281 | + <?php if ($prerenderResolver):?> |
| 282 | + # resolve using Google's DNS/Cloudflare server to force DNS resolution and prevent caching of IPs |
| 283 | + resolver <?=$prerenderResolver?>; |
| 284 | + <?php endif;?> |
283 | 285 |
|
284 | 286 | if ($prerender = 1) { |
285 | 287 | #setting prerender as a variable forces DNS resolution since nginx caches IPs and doesnt play well with load balancing |
286 | | - set $prerender "<?=$prerenderUrl?>"; |
287 | | - rewrite .* /<?=$prerenderHost?>$request_uri? break; |
288 | | - proxy_pass https://$prerender; |
| 288 | + rewrite .* /<?=$prerenderHost?>$request_uri?$query_string break; |
| 289 | + proxy_pass "<?=$prerenderUrl?>"; |
289 | 290 | } |
290 | 291 |
|
291 | 292 | if ($prerender = 0) { |
|
0 commit comments