Varnish : Varnish not loading CSS and JS.
Danila Vershinin
ciapnz at gmail.com
Wed Oct 9 07:50:52 UTC 2019
I'm only saying you have way far from the correct configuration, and
anything may happen :)
Like try_files $uri $uri/ /index.php$is_args$args; alongside proxy_pass. I
cannot see how this can work together, or the purpose of it.
Best regards,
Danila
On Wed, Oct 9, 2019 at 9:48 AM Akshay Sulakhe <kernelfreak at gmail.com> wrote:
> Hi,
>
> So the only problem you are describing is related to pub/, correct? But
> when I don't use varnish, then these files are loading properly... they are
> found and loaded. The pub/static and the path is the one used by magento,
> not by Varnish. Without varnish also the path remains same, and I get the
> CSS and JS. What changes would you recommend? Thank you. :-)
> On 09/10/19 4:06 AM, Danila Vershinin wrote:
>
> Hi,
>
> I don't think it's related to Varnish.
>
> 1. You should not be using pub/ in your URLs. The secure Magento 2 setup
> assumes that pub/ directory is your web root, so you should end up with
> URLs without it.
> 2. Your CSS/JS is not loaded because they are returning 404s (thus
> text/html MIME type, and browser refuses to load them because they are not
> scripts/styles, they are HTML error message)
>
> On Tue, Oct 8, 2019 at 4:17 PM, Akshay Sulakhe <kernelfreak at gmail.com>
> <kernelfreak at gmail.com> wrote:
>
> Hello friends,
>
> I am running magento 2.2.6 on a nginx server. I have Varnish installed on
> another dedicated server. When I use it via proxy-pass and contact varnish
> server first, I am able to load the magento website, but CSS and JS are not
> loading due to strict mime-type issue.
>
> Error log :
>
> pub/static/version123456/frontend/company/default/de_DE/css/styles-1.min.css was blocked due to MIME type ("text/html") mismatch (X-Content-Type-Options: nosniff)
>
>
> We don't have no-sniff added in our Nginx configuration.
>
> Varnish config :
>
> default.vcl
>
> backend server1c {
> .host = "IP1";
> .port = "80";
> .probe = {
> .url = "/balancer.html";
> .timeout = 500s;
> .interval = 5s;
> .window = 5;
> .threshold = 3;
> }}
>
> backend server1b {
> .host = "IP2";
> .port = "80";
> .probe = {
> .url = "/balancer.html";
> .timeout = 500s;
> .interval = 5s;
> .window = 5;
> .threshold = 3;
> }}
>
>
> backend server1a {
> .host = "IP3";
> .port = "80";
> .probe = {
> .url = "/pub/balancer.html";
> .timeout = 500s;
> .interval = 5s;
> .window = 5;
> .threshold = 3;
> }}
> 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.
> if (req.url == "/lazyload/prices/load/") {
> return(pass);
> }
> if (req.url == "/roobeo_config/store/changemode/mode/0") {
> return(pass);
> }
> if (req.url == "/roobeo_config/store/changemode/mode/1") {
> return(pass);
> }
> if (req.url == "/rest/default/V1/carts/mine/estimate-shipping-methods") {
> return(pass);
> }
> if (req.url == "/lazywishlist/") {
> return(pass);
> }
> if (req.url == "/index.php/rest/V1/") {
> return(pass);
> }
> if (req.url == "/customer/account/createpassword/") {
> return(pass);
> }
> if (req.url == "/customer/account/resetpasswordpost/") {
> return(pass);
> }
> if (req.url == "/roobeo_shipping/zipcode/validate/") {
> return(pass);
> }
> if (req.url == "/roobeo_shipping/zipcode/save/") {
> return(pass);
> }
> if (req.url == "/roobeo_shipping") {
> return(pass);
> }}
> sub vcl_init {
> new bar = directors.round_robin();
> bar.add_backend(server1a);
> bar.add_backend(server1b);
> bar.add_backend(server1c);}
>
>
> Nginx config :
>
> location / {
> proxy_pass http://VARNISH_IP:80;
> proxy_set_header Host $http_host;
> proxy_set_header X-Forwarded-Host $http_host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header Ssl-Offloaded "1";
> proxy_set_header X-Forwarded-Proto https;
> proxy_set_header X-Forwarded-Port 443;
> #proxy_hide_header X-Varnish;
> #proxy_hide_header Via;
> proxy_set_header X-Forwarded-Proto $scheme;
> try_files $uri $uri/ /index.php$is_args$args;
> }
>
> Any ideas. Thank you. :-)
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20191009/a159d3f7/attachment.html>
More information about the varnish-misc
mailing list