in home page:
Running nodebb in DEV mode :
12/12 18:28 [29442] - info: [plugins] Plugins OK 12/12 18:28 [29442] - verbose: [meta/css] Minifying LESS/CSS 12/12 18:28 [29442] - verbose: [sounds] Sounds OK 12/12 18:28 [29442] - verbose: [meta/templates] Compiling templates 12/12 18:28 [29442] - verbose: [meta/js] Minification complete 12/12 18:28 [29442] - verbose: [meta/js] Client-side minfile committed to disk. 12/12 18:28 [29442] - verbose: [meta/templates] Successfully compiled templates. 12/12 18:28 [29442] - info: NodeBB Ready 12/12 18:28 [29442] - info: Enabling 'trust proxy' 12/12 18:28 [29442] - info: NodeBB is now listening on: 0.0.0.0:4567 12/12 18:28 [29442] - verbose: [hotswap] Router with id `auth` replaced successfully 12/12 18:28 [29442] - verbose: [meta/css] admin.css committed to disk. 12/12 18:28 [29442] - info: [plugins/spam-be-gone] Settings loaded 12/12 18:28 [29442] - verbose: [meta/css] stylesheet.css committed to disk. 12/12 18:28 [29442] - verbose: [hotswap] Router with id `plugins` replaced successfully 12/12 18:28 [29442] - verbose: [plugins] All plugins reloaded and rerouted 12/12 18:30 [29442] - warn: Route requested but not found: /vendor/jquery/timeago/locales/jquery.timeago.fa-short.js?_=1449932506270 12/12 18:36 [29442] - warn: Route requested but not found: /vendor/jquery/timeago/locales/jquery.timeago.fa-short.js?_=1449932876822an I have this errors on Chrome console:
GET http://127.0.0.1:4567/plugins/nodebb-plugin-emoji-extended/images/exclamation.png net::ERR_CONNECTION_REFUSED (index):1665 GET http://127.0.0.1:4567/plugins/nodebb-plugin-emoji-extended/images/grinning.png net::ERR_CONNECTION_REFUSED index.js:153 WebSocket connection to 'ws://forum.sanatisharif.ir/socket.io/?EIO=3&transport=websocket&sid=2Y61E9Zihllh82snAAAD' failed: Establishing a tunnel via proxy server failed. index.js:153 GET http://forum.sanatisharif.ir/vendor/jquery/timeago/locales/jquery.timeago.fa-short.js?_=1449932876822 404 (Not Found)Forum Config:
varnish on port 80, nginx on port 8082, nodebb on port 4567varnish config:
backend forum { .host = "127.0.0.1"; # your nginx host .port = "8082"; # your nginx port .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .max_connections = 100000; } backend nodebb { .host = "127.0.0.1"; # your nodebb host .port = "4567"; # your nodebb port .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; .max_connections = 100000; } # Only allow purging from specific IPs acl purge { "localhost"; "127.0.0.1"; } import std; # This function is used when a request is send by a HTTP client (Browser) sub vcl_recv { unset req.http.X-Forwarded-For; set req.http.X-Forwarded-For = client.ip; #pipe websocket connections directly to Node.js if (req.http.upgrade ~ "(?i)websocket" || req.http.Upgrade ~ "(?i)websocket") { set req.backend_hint = nodebb; return (pipe); } # NodeBB forum if (req.http.host ~ "(?i)^(www.)?forum\.sanatisharif\.ir$" || req.http.host ~ "(?i)^(www.)?forum\.sanatisharif\.com$" || req.http.host ~ "(?i)^(www.)?forum\.sanatisharif\.net$" || req.http.host ~ "(?i)^(www.)?forum\.sanatisharif\.org$") { set req.backend_hint = forum; if (req.url ~ "^/socket\.io/") { set req.backend_hint = nodebb; return (pipe); # return pass seems not working for websockets } return (pass); } # Allow purging from ACL if (req.method == "PURGE") { # If not allowed then a error 405 is returned if (!client.ip ~ purge) { return(synth(405, "This IP is not allowed to send PURGE requests.")); } # If allowed, do a cache_lookup -> vlc_hit() or vlc_miss() return (purge); } if (req.http.Authorization || req.http.Cookie || req.method == "POST") { # Not cacheable by default return (pass); } return (hash); } sub vcl_pipe { #Need to copy the upgrade for websockets to work if (req.http.upgrade) { set bereq.http.upgrade = req.http.upgrade; } } # This function is used when a request is sent by our backend (Nginx server) sub vcl_backend_response { # Remove some headers we never want to see unset beresp.http.Server; unset beresp.http.X-Powered-By; # For static content strip all backend cookies if (bereq.url ~ "\.(css|js|png|gif|jp(e?)g)|swf|ico") { unset beresp.http.cookie; } # Only allow cookies to be set if we're in admin area #if (beresp.http.Set-Cookie && bereq.url !~ "^/wp-(login|admin)") { # unset beresp.http.Set-Cookie; #} # don't cache response to posted requests or those with basic auth if ( bereq.method == "POST" || bereq.http.Authorization ) { set beresp.uncacheable = true; set beresp.ttl = 120s; return (deliver); } # don't cache search results if ( bereq.url ~ "\?s=" ){ set beresp.uncacheable = true; set beresp.ttl = 120s; return (deliver); } # A TTL of 24h #set beresp.ttl = 24h; # Define the default grace period to serve cached content #set beresp.grace = 30s; set beresp.grace = 6h; set beresp.ttl = 300m; return (deliver); } sub vcl_backend_error { return (deliver); } sub vcl_synth { return (deliver); }nginx config:
upstream io_nodes { ip_hash; server 127.0.0.1:4567; server 127.0.0.1:4567; } server { listen 127.0.0.1:8082; server_name forum.sanatisharif.ir; root /home/nodeBB/forum/public; port_in_redirect off; access_log off; #home page location = / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://io_nodes; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; try_files $uri $uri/ @proxy; location @proxy{ proxy_pass http://io_nodes; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }