Bokeh with NGINX reverse proxy gives a Blank White Screen

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

Much more information is needed to help:

Relevant versions (Bokeh, browser, os)

The Nginx config file

The url you expect to be able to navigate to

The exact command you invoke to start the Bokeh server

Nginx log output

Bokeh server log output

JavaScript console output in the browser

Thanks,

Bryan

···

On Sep 23, 2017, at 16:44, [email protected] wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d28d11a9-b7ce-480c-8601-49ee06b58380%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }
···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

This is the site I see:

···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

Attached are more details:

Hi please see below: (Thank you so much for helping - i am going on three weeks trying to figure this out - very close to giving up!)

···

On Sun, Sep 24, 2017 at 2:42 PM, [email protected] wrote:

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

You received this message because you are subscribed to a topic in the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this topic, visit https://groups.google.com/a/continuum.io/d/topic/bokeh/F2r24O-qob4/unsubscribe.

To unsubscribe from this group and all its topics, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/26123c83-04dd-43fd-b677-9a480f2b5007%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

Bokeh/Browser works fine when going directly to the bokeh listerner

···

On Sun, Sep 24, 2017 at 3:01 PM, Sebastian Maurice [email protected] wrote:

Attached are more details:

Hi please see below: (Thank you so much for helping - i am going on three weeks trying to figure this out - very close to giving up!)

  1. Relevant versions (Bokeh, browser, os)
    Ans: Bokeh version: 0.12.7
    broswer: Chrome, Mozilla, IE
    OS: Bokeh runs on Windows 10 (Win64)

  2. The Nginx config file
    Ans:
    #user nobody;

worker_processes 4;

events {
worker_connections 1024;
}

http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/mime.types;
default_type application/octet-stream;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
open_file_cache max=10000 inactive=10m;
open_file_cache_valid 2m;
open_file_cache_min_uses 1;
open_file_cache_errors on;
ignore_invalid_headers on;
client_max_body_size 8m;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;

include C:/inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/sites-enabled/*.conf;

}

  1. The url you expect to be able to navigate to
    Ans: http://192.168.0.101:5007

  2. The exact command you invoke to start the Bokeh server
    Ans: bokeh serve C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\pyfiles\smaurice_5007.py --port 5007 --log-level debug --allow-websocket-origin 192.168.0.101:5007

  3. Nginx log output
    Server: nginx/1.12.1
    Date: Sun, 24 Sep 2017 18:09:46 GMT
    Content-Type: text/html; charset=utf-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Content-Encoding: gzip

2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:194
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “.”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “…”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “.keepdir”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “css”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “js”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36” 02C5FB94
2017/09/24 14:09:46 [debug] 10464#1520: *7 http gzip filter
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006FCE90:270336
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:1 s:5828 a:8192 p:006FCE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:006FEE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0070EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0071EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:16384 s:4 a:65536 p:0072EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in: 0069B898
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 ni:0069BA4C ai:430
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0073EE98:32768
2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate in: ni:0069BA4C no:0073EE98 ai:430 ao:32768 fl:4 redo:0
2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate out: ni:0069BBFA no:0073EF4F ai:0 ao:32585 rc:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 pos:0069BA4C
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006FCE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 10
2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 191
2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069BD04, pos 0069BD04, size: 4 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 01615F2C, size: 10 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0073EE98, pos 0073EE98, size: 191 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 015A6848, size: 7 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:1 s:406
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:406
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36” a:1, c:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0073EE98
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2549
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097572
2017/09/24 14:09:46 [debug] 10464#1520: *7 post event 006D4058
2017/09/24 14:09:46 [debug] 10464#1520: *7 delete posted event 006D4058
2017/09/24 14:09:46 [debug] 10464#1520: *7 http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006998A8:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSARecv: fd:640 rc:0 531 of 4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069A8B0:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer del: 640: 3038097572
2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request line
2017/09/24 14:09:46 [debug] 10464#1520: *7 http request line: “GET /favicon.ico HTTP/1.1”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http uri: “/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http args: “”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http exten: “ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request header line
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Host: www.analytix.ai:443
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Connection: keep-alive”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Pragma: no-cache”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: “Cache-Control: no-cache”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: "Accept: image/webp,image/apng,image/,
/
;q=0.8"
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Referer: http://www.analytix.ai:443/5007/smaurice_5007
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Accept-Encoding: gzip, deflate”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Accept-Language: en-US,en;q=0.8”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Cookie: sc_is_visitor_unique=rx7434007.1506276059.DB3C054494D04F60C42AC968B2BA3F88.70.57.53.50.42.33.18.6.2”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header done
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: “/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: ~ “^/(\d+)/static/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 using configuration “/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http cl:-1 max:31457280
2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 3
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var: “/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script regex: “^/(\d+)/([^/]+)”
2017/09/24 14:09:46 [notice] 10464#1520: *7 “^/(\d+)/([^/]+)” does not match “/favicon.ico”, client: 174.114.196.64, server: www.analytix.ai, request: “GET /favicon.ico HTTP/1.1”, host: “www.analytix.ai:443”, referrer: “http://www.analytix.ai:443/5007/smaurice_5007
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if: false
2017/09/24 14:09:46 [debug] 10464#1520: *7 post rewrite phase: 4
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 5
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 6
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 7
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 8
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 9
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 10
2017/09/24 14:09:46 [debug] 10464#1520: *7 post access phase: 11
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 12
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 13
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 14
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 15
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 16
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 17
2017/09/24 14:09:46 [debug] 10464#1520: *7 http filename: “C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 add cleanup: 0069B228
2017/09/24 14:09:46 [debug] 10464#1520: *7 cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:1, e:0, u:2
2017/09/24 14:09:46 [debug] 10464#1520: *7 http static fd: 656
2017/09/24 14:09:46 [debug] 10464#1520: *7 http set discard body
2017/09/24 14:09:46 [debug] 10464#1520: *7 HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Sun, 24 Sep 2017 18:09:46 GMT
Content-Type: image/x-icon
Content-Length: 1150
Last-Modified: Fri, 04 Sep 2009 10:42:24 GMT
Connection: keep-alive
ETag: “4aa0ef10-47e”
Accept-Ranges: bytes

2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:242
2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069B8B8:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter “/favicon.ico?” 0069B4C8
2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B8C8, pos 0069B8C8, size: 1150 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:0 s:1392
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:1392
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, “/favicon.ico?” a:1, c:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 run cleanup: 0069B228
2017/09/24 14:09:46 [debug] 10464#1520: *7 close cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:0, u:2, 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 708
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2930
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097746
2017/09/24 14:10:51 [debug] 10464#1520: *5 event timer del: 616: 3038097428
2017/09/24 14:10:51 [debug] 10464#1520: *5 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *5 close http connection: 616
2017/09/24 14:10:51 [debug] 10464#1520: *5 select del event fd:616 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *5 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 006FCB10, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *1 event timer del: 340: 3038097430
2017/09/24 14:10:51 [debug] 10464#1520: *1 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *1 close http connection: 340
2017/09/24 14:10:51 [debug] 10464#1520: *1 select del event fd:340 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *1 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 007B81E8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *2 event timer del: 608: 3038097431
2017/09/24 14:10:51 [debug] 10464#1520: *2 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *2 close http connection: 608
2017/09/24 14:10:51 [debug] 10464#1520: *2 select del event fd:608 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *2 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 006FC7F8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *3 event timer del: 612: 3038097432
2017/09/24 14:10:51 [debug] 10464#1520: *3 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *3 close http connection: 612
2017/09/24 14:10:51 [debug] 10464#1520: *3 select del event fd:612 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *3 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 006FC1C8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *6 event timer del: 636: 3038097435
2017/09/24 14:10:51 [debug] 10464#1520: *6 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *6 close http connection: 636
2017/09/24 14:10:51 [debug] 10464#1520: *6 select del event fd:636 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *6 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 006FCC18, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *7 event timer del: 640: 3038097746
2017/09/24 14:10:51 [debug] 10464#1520: *7 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *7 close http connection: 640
2017/09/24 14:10:51 [debug] 10464#1520: *7 select del event fd:640 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *7 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 006FCD20, unused: 28

  1. Bokeh server log output : not sure how i get this?

  2. JavaScript console output in the browser

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

On Sun, Sep 24, 2017 at 2:42 PM, [email protected] wrote:

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

You received this message because you are subscribed to a topic in the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this topic, visit https://groups.google.com/a/continuum.io/d/topic/bokeh/F2r24O-qob4/unsubscribe.

To unsubscribe from this group and all its topics, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/26123c83-04dd-43fd-b677-9a480f2b5007%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443


Sebastian Maurice, PhD

Mobile: 403-612-5443

Attached is the Bokeh terminal output
ebsocket-origin 192.168.0.101:5007

2017-09-24 15:10:53,726 Starting Bokeh server version 0.12.7 (running on Tornado 4.5.2)

2017-09-24 15:10:53,727 These host origins can connect to the websocket: [‘192.168.0.101:5007’]

2017-09-24 15:10:53,728 Patterns are:

2017-09-24 15:10:53,728 [(’/smaurice_5007/?’,

2017-09-24 15:10:53,728 <class ‘bokeh.server.views.doc_handler.DocHandler’>,

2017-09-24 15:10:53,728 {‘application_context’: <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,

2017-09-24 15:10:53,728 ‘bokeh_websocket_path’: ‘/smaurice_5007/ws’}),

2017-09-24 15:10:53,728 (’/smaurice_5007/ws’,

2017-09-24 15:10:53,728 <class ‘bokeh.server.views.ws.WSHandler’>,

2017-09-24 15:10:53,729 {‘application_context’: <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,

2017-09-24 15:10:53,729 ‘bokeh_websocket_path’: ‘/smaurice_5007/ws’}),

2017-09-24 15:10:53,729 (’/smaurice_5007/metadata’,

2017-09-24 15:10:53,729 <class ‘bokeh.server.views.metadata_handler.MetadataHandler’>,

2017-09-24 15:10:53,729 {‘application_context’: <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,

2017-09-24 15:10:53,729 ‘bokeh_websocket_path’: ‘/smaurice_5007/ws’}),

2017-09-24 15:10:53,729 (’/smaurice_5007/autoload.js’,

2017-09-24 15:10:53,729 <class ‘bokeh.server.views.autoload_js_handler.AutoloadJsHandler’>,

2017-09-24 15:10:53,729 {‘application_context’: <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,

2017-09-24 15:10:53,729 ‘bokeh_websocket_path’: ‘/smaurice_5007/ws’}),

2017-09-24 15:10:53,729 (’/?’,

2017-09-24 15:10:53,729 <class ‘bokeh.server.views.root_handler.RootHandler’>,

2017-09-24 15:10:53,729 {‘applications’: {’/smaurice_5007’: <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>},

2017-09-24 15:10:53,729 ‘prefix’: ‘’,

2017-09-24 15:10:53,730 ‘use_redirect’: True}),

2017-09-24 15:10:53,730 (’/static/(.*)’,

2017-09-24 15:10:53,731 <class ‘bokeh.server.views.static_handler.StaticHandler’>)]

2017-09-24 15:10:53,732 Bokeh app running at: http://localhost:5007/smaurice_5007

2017-09-24 15:10:53,732 Starting Bokeh server with process id: 5236

2017-09-24 15:11:08,733 [pid 5236] 0 clients connected

2017-09-24 15:11:08,733 [pid 5236] /smaurice_5007 has 0 sessions with 0 unused

2017-09-24 15:11:23,733 [pid 5236] 0 clients connected

2017-09-24 15:11:23,734 [pid 5236] /smaurice_5007 has 0 sessions with 0 unused

c:\users\smaurice\appdata\local\programs\python\python35\lib\site-packages\statsmodels\compat\pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.

from pandas.core import datetools

2017-09-24 15:11:25,454 200 GET /smaurice_5007/ (192.168.0.101) 874.80ms

2017-09-24 15:11:38,733 [pid 5236] 0 clients connected

2017-09-24 15:11:38,733 [pid 5236] /smaurice_5007 has 1 sessions with 1 unused

···

On Sun, Sep 24, 2017 at 3:01 PM, Sebastian Maurice [email protected] wrote:

Attached are more details:

Hi please see below: (Thank you so much for helping - i am going on three weeks trying to figure this out - very close to giving up!)

  1. Relevant versions (Bokeh, browser, os)
    Ans: Bokeh version: 0.12.7
    broswer: Chrome, Mozilla, IE
    OS: Bokeh runs on Windows 10 (Win64)

  2. The Nginx config file
    Ans:
    #user nobody;

worker_processes 4;

events {
worker_connections 1024;
}

http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/mime.types;
default_type application/octet-stream;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/plain application/x-javascript text/xml text/css;
open_file_cache max=10000 inactive=10m;
open_file_cache_valid 2m;
open_file_cache_min_uses 1;
open_file_cache_errors on;
ignore_invalid_headers on;
client_max_body_size 8m;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 4k;
large_client_header_buffers 4 32k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;

include C:/inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/sites-enabled/*.conf;

}

  1. The url you expect to be able to navigate to
    Ans: http://192.168.0.101:5007

  2. The exact command you invoke to start the Bokeh server
    Ans: bokeh serve C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\pyfiles\smaurice_5007.py --port 5007 --log-level debug --allow-websocket-origin 192.168.0.101:5007

  3. Nginx log output
    Server: nginx/1.12.1
    Date: Sun, 24 Sep 2017 18:09:46 GMT
    Content-Type: text/html; charset=utf-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    Content-Encoding: gzip

2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:194
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “.”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “…”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “.keepdir”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “css”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: “js”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36” 02C5FB94
2017/09/24 14:09:46 [debug] 10464#1520: *7 http gzip filter
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006FCE90:270336
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:1 s:5828 a:8192 p:006FCE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:006FEE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0070EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0071EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:16384 s:4 a:65536 p:0072EE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in: 0069B898
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 ni:0069BA4C ai:430
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0073EE98:32768
2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate in: ni:0069BA4C no:0073EE98 ai:430 ao:32768 fl:4 redo:0
2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate out: ni:0069BBFA no:0073EF4F ai:0 ao:32585 rc:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 pos:0069BA4C
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006FCE90
2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 10
2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 191
2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069BD04, pos 0069BD04, size: 4 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 01615F2C, size: 10 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0073EE98, pos 0073EE98, size: 191 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 015A6848, size: 7 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:1 s:406
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:406
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, “/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36” a:1, c:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0073EE98
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2549
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097572
2017/09/24 14:09:46 [debug] 10464#1520: *7 post event 006D4058
2017/09/24 14:09:46 [debug] 10464#1520: *7 delete posted event 006D4058
2017/09/24 14:09:46 [debug] 10464#1520: *7 http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006998A8:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSARecv: fd:640 rc:0 531 of 4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069A8B0:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer del: 640: 3038097572
2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request line
2017/09/24 14:09:46 [debug] 10464#1520: *7 http request line: “GET /favicon.ico HTTP/1.1”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http uri: “/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http args: “”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http exten: “ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request header line
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Host: www.analytix.ai:443
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Connection: keep-alive”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Pragma: no-cache”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: “Cache-Control: no-cache”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36”
2017/09/24 14:09:46 [debug] 10464#1520: 7 http header: "Accept: image/webp,image/apng,image/,
/
;q=0.8"
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Referer: http://www.analytix.ai:443/5007/smaurice_5007
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Accept-Encoding: gzip, deflate”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Accept-Language: en-US,en;q=0.8”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: “Cookie: sc_is_visitor_unique=rx7434007.1506276059.DB3C054494D04F60C42AC968B2BA3F88.70.57.53.50.42.33.18.6.2”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http header done
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: “/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: ~ “^/(\d+)/static/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 using configuration “/”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http cl:-1 max:31457280
2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 3
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var: “/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script regex: “^/(\d+)/([^/]+)”
2017/09/24 14:09:46 [notice] 10464#1520: *7 “^/(\d+)/([^/]+)” does not match “/favicon.ico”, client: 174.114.196.64, server: www.analytix.ai, request: “GET /favicon.ico HTTP/1.1”, host: “www.analytix.ai:443”, referrer: “http://www.analytix.ai:443/5007/smaurice_5007
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if
2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if: false
2017/09/24 14:09:46 [debug] 10464#1520: *7 post rewrite phase: 4
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 5
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 6
2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 7
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 8
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 9
2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 10
2017/09/24 14:09:46 [debug] 10464#1520: *7 post access phase: 11
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 12
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 13
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 14
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 15
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 16
2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 17
2017/09/24 14:09:46 [debug] 10464#1520: *7 http filename: “C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico”
2017/09/24 14:09:46 [debug] 10464#1520: *7 add cleanup: 0069B228
2017/09/24 14:09:46 [debug] 10464#1520: *7 cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:1, e:0, u:2
2017/09/24 14:09:46 [debug] 10464#1520: *7 http static fd: 656
2017/09/24 14:09:46 [debug] 10464#1520: *7 http set discard body
2017/09/24 14:09:46 [debug] 10464#1520: *7 HTTP/1.1 200 OK
Server: nginx/1.12.1
Date: Sun, 24 Sep 2017 18:09:46 GMT
Content-Type: image/x-icon
Content-Length: 1150
Last-Modified: Fri, 04 Sep 2009 10:42:24 GMT
Connection: keep-alive
ETag: “4aa0ef10-47e”
Accept-Ranges: bytes

2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:242
2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069B8B8:4096
2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter “/favicon.ico?” 0069B4C8
2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B8C8, pos 0069B8C8, size: 1150 file: 0, size: 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:0 s:1392
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:1392
2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 “/favicon.ico?”
2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, “/favicon.ico?” a:1, c:1
2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
2017/09/24 14:09:46 [debug] 10464#1520: *7 run cleanup: 0069B228
2017/09/24 14:09:46 [debug] 10464#1520: *7 close cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:0, u:2, 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 708
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2930
2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097746
2017/09/24 14:10:51 [debug] 10464#1520: *5 event timer del: 616: 3038097428
2017/09/24 14:10:51 [debug] 10464#1520: *5 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *5 close http connection: 616
2017/09/24 14:10:51 [debug] 10464#1520: *5 select del event fd:616 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *5 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 006FCB10, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *1 event timer del: 340: 3038097430
2017/09/24 14:10:51 [debug] 10464#1520: *1 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *1 close http connection: 340
2017/09/24 14:10:51 [debug] 10464#1520: *1 select del event fd:340 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *1 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 007B81E8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *2 event timer del: 608: 3038097431
2017/09/24 14:10:51 [debug] 10464#1520: *2 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *2 close http connection: 608
2017/09/24 14:10:51 [debug] 10464#1520: *2 select del event fd:608 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *2 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 006FC7F8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *3 event timer del: 612: 3038097432
2017/09/24 14:10:51 [debug] 10464#1520: *3 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *3 close http connection: 612
2017/09/24 14:10:51 [debug] 10464#1520: *3 select del event fd:612 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *3 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 006FC1C8, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *6 event timer del: 636: 3038097435
2017/09/24 14:10:51 [debug] 10464#1520: *6 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *6 close http connection: 636
2017/09/24 14:10:51 [debug] 10464#1520: *6 select del event fd:636 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *6 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 006FCC18, unused: 28
2017/09/24 14:10:51 [debug] 10464#1520: *7 event timer del: 640: 3038097746
2017/09/24 14:10:51 [debug] 10464#1520: *7 http keepalive handler
2017/09/24 14:10:51 [debug] 10464#1520: *7 close http connection: 640
2017/09/24 14:10:51 [debug] 10464#1520: *7 select del event fd:640 ev:0
2017/09/24 14:10:51 [debug] 10464#1520: *7 reusable connection: 0
2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 00000000
2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 006FCD20, unused: 28

  1. Bokeh server log output : not sure how i get this?

  2. JavaScript console output in the browser

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

On Sun, Sep 24, 2017 at 2:42 PM, [email protected] wrote:

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

You received this message because you are subscribed to a topic in the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this topic, visit https://groups.google.com/a/continuum.io/d/topic/bokeh/F2r24O-qob4/unsubscribe.

To unsubscribe from this group and all its topics, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/26123c83-04dd-43fd-b677-9a480f2b5007%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443


Sebastian Maurice, PhD

Mobile: 403-612-5443

The output from the JavaScript console is also important. You will have to look up hos to get it, because it is different for every browser. Also just to clarify the bokeh server output was running until after you tried and failed to connect?

Also, is that your entire nginx conf? I don't see any "proxy_*" settings at all? Those are 100% necessary, without them your connection attempts will never even get to the bokeh server. They are all described in the documentation with a sample nginx conf:

  https://bokeh.pydata.org/en/latest/docs/user_guide/server.html#nginx

Thanks,

Bryan

···

On Sep 24, 2017, at 14:12, Sebastian Maurice <[email protected]> wrote:

Attached is the Bokeh terminal output
ebsocket-origin 192.168.0.101:5007
2017-09-24 15:10:53,726 Starting Bokeh server version 0.12.7 (running on Tornado 4.5.2)
2017-09-24 15:10:53,727 These host origins can connect to the websocket: ['192.168.0.101:5007']
2017-09-24 15:10:53,728 Patterns are:
2017-09-24 15:10:53,728 [('/smaurice_5007/?',
2017-09-24 15:10:53,728 <class 'bokeh.server.views.doc_handler.DocHandler'>,
2017-09-24 15:10:53,728 {'application_context': <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,
2017-09-24 15:10:53,728 'bokeh_websocket_path': '/smaurice_5007/ws'}),
2017-09-24 15:10:53,728 ('/smaurice_5007/ws',
2017-09-24 15:10:53,728 <class 'bokeh.server.views.ws.WSHandler'>,
2017-09-24 15:10:53,729 {'application_context': <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,
2017-09-24 15:10:53,729 'bokeh_websocket_path': '/smaurice_5007/ws'}),
2017-09-24 15:10:53,729 ('/smaurice_5007/metadata',
2017-09-24 15:10:53,729 <class 'bokeh.server.views.metadata_handler.MetadataHandler'>,
2017-09-24 15:10:53,729 {'application_context': <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,
2017-09-24 15:10:53,729 'bokeh_websocket_path': '/smaurice_5007/ws'}),
2017-09-24 15:10:53,729 ('/smaurice_5007/autoload.js',
2017-09-24 15:10:53,729 <class 'bokeh.server.views.autoload_js_handler.AutoloadJsHandler'>,
2017-09-24 15:10:53,729 {'application_context': <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>,
2017-09-24 15:10:53,729 'bokeh_websocket_path': '/smaurice_5007/ws'}),
2017-09-24 15:10:53,729 ('/?',
2017-09-24 15:10:53,729 <class 'bokeh.server.views.root_handler.RootHandler'>,
2017-09-24 15:10:53,729 {'applications': {'/smaurice_5007': <bokeh.server.application_context.ApplicationContext object at 0x000001B9650EBF28>},
2017-09-24 15:10:53,729 'prefix': '',
2017-09-24 15:10:53,730 'use_redirect': True}),
2017-09-24 15:10:53,730 ('/static/(.*)',
2017-09-24 15:10:53,731 <class 'bokeh.server.views.static_handler.StaticHandler'>)]
2017-09-24 15:10:53,732 Bokeh app running at: http://localhost:5007/smaurice_5007
2017-09-24 15:10:53,732 Starting Bokeh server with process id: 5236
2017-09-24 15:11:08,733 [pid 5236] 0 clients connected
2017-09-24 15:11:08,733 [pid 5236] /smaurice_5007 has 0 sessions with 0 unused
2017-09-24 15:11:23,733 [pid 5236] 0 clients connected
2017-09-24 15:11:23,734 [pid 5236] /smaurice_5007 has 0 sessions with 0 unused
c:\users\smaurice\appdata\local\programs\python\python35\lib\site-packages\statsmodels\compat\pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
  from pandas.core import datetools
2017-09-24 15:11:25,454 200 GET /smaurice_5007/ (192.168.0.101) 874.80ms
2017-09-24 15:11:38,733 [pid 5236] 0 clients connected
2017-09-24 15:11:38,733 [pid 5236] /smaurice_5007 has 1 sessions with 1 unused

On Sun, Sep 24, 2017 at 3:01 PM, Sebastian Maurice <[email protected]> wrote:
Attached are more details:

Hi please see below: (Thank you so much for helping - i am going on three weeks trying to figure this out - very close to giving up!)
>
> 1) Relevant versions (Bokeh, browser, os)
> Ans: Bokeh version: 0.12.7
> broswer: Chrome, Mozilla, IE
> OS: Bokeh runs on Windows 10 (Win64)
>
> 2) The Nginx config file
> Ans:
> #user nobody;
>
> worker_processes 4;
>
> events {
> worker_connections 1024;
> }
>
>
> http {
> sendfile on;
> tcp_nopush on;
> tcp_nodelay on;
> keepalive_timeout 65;
> types_hash_max_size 2048;
> include /inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/mime.types;
> default_type application/octet-stream;
> gzip on;
> gzip_min_length 1100;
> gzip_buffers 4 32k;
> gzip_types text/plain application/x-javascript text/xml text/css;
> open_file_cache max=10000 inactive=10m;
> open_file_cache_valid 2m;
> open_file_cache_min_uses 1;
> open_file_cache_errors on;
> ignore_invalid_headers on;
> client_max_body_size 8m;
> client_header_timeout 3m;
> client_body_timeout 3m;
> send_timeout 3m;
> connection_pool_size 256;
> client_header_buffer_size 4k;
> large_client_header_buffers 4 32k;
> request_pool_size 4k;
> output_buffers 4 32k;
> postpone_output 1460;
>
> include C:/inetpub/wwwroot/T2A_WEBSITE/STOCKS/otics/bokeh/nginx-1.12.1/conf/sites-enabled/*.conf;
>
> }
>
>
>
> 3) The url you expect to be able to navigate to
> Ans: http://192.168.0.101:5007
>
> 4) The exact command you invoke to start the Bokeh server
> Ans: bokeh serve C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\pyfiles\smaurice_5007.py --port 5007 --log-level debug --allow-websocket-origin 192.168.0.101:5007
>
> 5) Nginx log output
> Server: nginx/1.12.1
> Date: Sun, 24 Sep 2017 18:09:46 GMT
> Content-Type: text/html; charset=utf-8
> Transfer-Encoding: chunked
> Connection: keep-alive
> Content-Encoding: gzip
>
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:194
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: "."
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: ".."
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: ".keepdir"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: "css"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http autoindex file: "js"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter "/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: "/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter "/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36" 02C5FB94
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http gzip filter
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006FCE90:270336
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:1 s:5828 a:8192 p:006FCE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:006FEE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0070EE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:32768 s:2 a:65536 p:0071EE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip alloc: n:16384 s:4 a:65536 p:0072EE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in: 0069B898
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 ni:0069BA4C ai:430
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0073EE98:32768
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate in: ni:0069BA4C no:0073EE98 ai:430 ao:32768 fl:4 redo:0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 deflate out: ni:0069BBFA no:0073EF4F ai:0 ao:32585 rc:1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 gzip in_buf:0069BA14 pos:0069BA4C
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006FCE90
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 10
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http chunk: 191
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B950, pos 0069B950, size: 194 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069BD04, pos 0069BD04, size: 4 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 01615F2C, size: 10 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0073EE98, pos 0073EE98, size: 191 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:0 f:0 00000000, pos 015A6848, size: 7 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:1 s:406
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:406
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 "/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, "/5007/static/js/bokeh-gl.min.js/?v=bd3543fa9b2c283463abffbdfcc78e36" a:1, c:1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0073EE98
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 00000000
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2549
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097572
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 post event 006D4058
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 delete posted event 006D4058
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http keepalive handler
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 006998A8:4096
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 WSARecv: fd:640 rc:0 531 of 4096
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069A8B0:4096
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer del: 640: 3038097572
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request line
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http request line: "GET /favicon.ico HTTP/1.1"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http uri: "/favicon.ico"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http args: ""
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http exten: "ico"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http process request header line
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Host: www.analytix.ai:443"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Connection: keep-alive"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Pragma: no-cache"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Cache-Control: no-cache"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Accept: image/webp,image/apng,image/*,*/*;q=0.8"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Referer: http://www.analytix.ai:443/5007/smaurice_5007"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Accept-Encoding: gzip, deflate"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Accept-Language: en-US,en;q=0.8"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header: "Cookie: sc_is_visitor_unique=rx7434007.1506276059.DB3C054494D04F60C42AC968B2BA3F88.70.57.53.50.42.33.18.6.2"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http header done
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: "/"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 test location: ~ "^/(\d+)/static/"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 using configuration "/"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http cl:-1 max:31457280
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 rewrite phase: 3
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http script var: "/favicon.ico"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http script regex: "^/(\d+)/([^/]+)"
> 2017/09/24 14:09:46 [notice] 10464#1520: *7 "^/(\d+)/([^/]+)" does not match "/favicon.ico", client: 174.114.196.64, server: www.analytix.ai, request: "GET /favicon.ico HTTP/1.1", host: "www.analytix.ai:443", referrer: "http://www.analytix.ai:443/5007/smaurice_5007"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http script if: false
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 post rewrite phase: 4
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 5
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 6
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 generic phase: 7
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 8
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 9
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 access phase: 10
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 post access phase: 11
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 12
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 13
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 14
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 15
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 16
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 content phase: 17
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http filename: "C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 add cleanup: 0069B228
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:1, e:0, u:2
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http static fd: 656
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http set discard body
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 HTTP/1.1 200 OK
> Server: nginx/1.12.1
> Date: Sun, 24 Sep 2017 18:09:46 GMT
> Content-Type: image/x-icon
> Content-Length: 1150
> Last-Modified: Fri, 04 Sep 2009 10:42:24 GMT
> Connection: keep-alive
> ETag: "4aa0ef10-47e"
> Accept-Ranges: bytes
>
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:0 f:0 s:242
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http output filter "/favicon.ico?"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: "/favicon.ico?"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 malloc: 0069B8B8:4096
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http postpone filter "/favicon.ico?" 0069B4C8
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write old buf t:1 f:0 0069B33C, pos 0069B33C, size: 242 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 write new buf t:1 f:0 0069B8C8, pos 0069B8C8, size: 1150 file: 0, size: 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter: l:1 f:0 s:1392
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter limit 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 WSASend: fd:640, s:1392
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http write filter 00000000
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http copy filter: 0 "/favicon.ico?"
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http finalize request: 0, "/favicon.ico?" a:1, c:1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 set http keepalive handler
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http close request
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 http log handler
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 run cleanup: 0069B228
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 close cached open file: C:\inetpub\wwwroot\T2A_WEBSITE\STOCKS\otics\bokeh\nginx-1.12.1/html/favicon.ico, fd:656, c:0, u:2, 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069A8B0, unused: 708
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 0069B8B8, unused: 2930
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 free: 006998A8
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 hc free: 00000000
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 hc busy: 00000000 0
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 reusable connection: 1
> 2017/09/24 14:09:46 [debug] 10464#1520: *7 event timer add: 640: 65000:3038097746
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 event timer del: 616: 3038097428
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 close http connection: 616
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 select del event fd:616 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *5 free: 006FCB10, unused: 28
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 event timer del: 340: 3038097430
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 close http connection: 340
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 select del event fd:340 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *1 free: 007B81E8, unused: 28
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 event timer del: 608: 3038097431
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 close http connection: 608
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 select del event fd:608 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *2 free: 006FC7F8, unused: 28
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 event timer del: 612: 3038097432
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 close http connection: 612
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 select del event fd:612 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *3 free: 006FC1C8, unused: 28
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 event timer del: 636: 3038097435
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 close http connection: 636
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 select del event fd:636 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *6 free: 006FCC18, unused: 28
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 event timer del: 640: 3038097746
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 http keepalive handler
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 close http connection: 640
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 select del event fd:640 ev:0
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 reusable connection: 0
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 00000000
> 2017/09/24 14:10:51 [debug] 10464#1520: *7 free: 006FCD20, unused: 28
>
>
> 6) Bokeh server log output : not sure how i get this?
>
>
>
> 7) JavaScript console output in the browser

> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="utf-8">
> <title>OTICS WHAT-IF ENGINE</title>
> <link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
> <link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
> <link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
> <script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
> <script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
> <script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
> <script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
> <script type="text/javascript">
> Bokeh.set_log_level("info");
> </script>
> <style>
> html {
> width: 100%;
> height: 100%;
> }
> body {
> width: 90%;
> height: 100%;
> margin: auto;
> }
> </style>
> </head>
> <body>
> <div class="bk-root">
> <div class="bk-plotdiv" id="a643fc91-292b-4f4c-94f7-241396b78b6f"></div>
> </div>
> <script type="text/javascript">
> (function() {
> var fn = function() {
> Bokeh.safely(function() {
> var docs_json = {};
> var render_items = [{"elementid":"a643fc91-292b-4f4c-94f7-241396b78b6f","sessionid":"wgG0RjNaB74AV5aVK8C4c7rB9BOHDRPSLIpFiwUzQERh","use_for_title":true}];
> Bokeh.embed.embed_items(docs_json, render_items);
> });
> };
> if (document.readyState != "loading") fn();
> else document.addEventListener("DOMContentLoaded", fn);
> })();
> </script>
> </body>
> </html>
>

On Sun, Sep 24, 2017 at 2:42 PM, <[email protected]> wrote:

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:
Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>OTICS WHAT-IF ENGINE</title>
<link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
<script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
<script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
<script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
<script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
<script type="text/javascript">
Bokeh.set_log_level("info");
</script>
<style>
html {
width: 100%;
height: 100%;
}
body {
width: 90%;
height: 100%;
margin: auto;
}
</style>
</head>
<body>
<div class="bk-root">
<div class="bk-plotdiv" id="86ae7a18-5b00-42ee-aa6e-00fa70c36285"></div>
</div>
<script type="text/javascript">
(function() {
var fn = function() {
Bokeh.safely(function() {
var docs_json = {};
var render_items = [{"elementid":"86ae7a18-5b00-42ee-aa6e-00fa70c36285","sessionid":"My2OwaLPOMm839scpen1U8yFWM2TLjIvAijBJ2DTSsBP","use_for_title":true}];
Bokeh.embed.embed_items(docs_json, render_items);
});
};
if (document.readyState != "loading") fn();
else document.addEventListener("DOMContentLoaded", fn);
})();
</script>
</body>
</html>

--
You received this message because you are subscribed to a topic in the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this topic, visit https://groups.google.com/a/continuum.io/d/topic/bokeh/F2r24O-qob4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/26123c83-04dd-43fd-b677-9a480f2b5007%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
-----
Sebastian Maurice, PhD
Mobile: 403-612-5443

--
-----
Sebastian Maurice, PhD
Mobile: 403-612-5443

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rHg1JSLKb1ZRB0MS8sH91WM4LPXae-r-1vzTGsJAbbkcg%40mail.gmail.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Attached is the JS console logs:

Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

at smaurice_5007:17

(anonymous) @ smaurice_5007:17

15:22:44.126 smaurice_5007:40 Uncaught ReferenceError: Bokeh is not defined

at HTMLDocument.fn (smaurice_5007:40)

fn @ smaurice_5007:40

15:22:44.144 bridge.js:1 Connecting to PORT_NAME_SYMANTEC_PKI_CLIENT_CONTENT_TO_BACKGROUND…

15:22:44.166 bridge.js:1 Connected: Port {}

15:22:44.170 bridge.js:1 Done.

15:22:44.171 detection.js:1 +content/detection.js

15:22:44.172 detection.js:1 -content/detection.js

15:22:57.944 Navigated to http://www.analytix.ai:443/5007/smaurice_5007

15:22:58.081 smaurice_5007:8 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:58.103 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:58.104 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:58.105 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:58.107 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:58.133 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:58.228 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:58.229 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

at smaurice_5007:17

(anonymous) @ smaurice_5007:17

15:22:58.231 smaurice_5007:40 Uncaught ReferenceError: Bokeh is not defined

at HTMLDocument.fn (smaurice_5007:40)

fn @ smaurice_5007:40

15:22:58.249 bridge.js:1 Connecting to PORT_NAME_SYMANTEC_PKI_CLIENT_CONTENT_TO_BACKGROUND…

15:22:58.280 bridge.js:1 Connected: Port {}

15:22:58.286 bridge.js:1 Done.

15:22:58.287 detection.js:1 +content/detection.js

15:22:58.288 detection.js:1 -content/detection.js

···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }
···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Yes - Bokeh server was running at time of JS console output.

Attached is the proxy conf:

server {

listen 443;

server_name www.mysite.ai;

    charset     utf-8;

client_max_body_size 30M;

access_log C:/CORE_FILES/nginxlog/access.log;

error_log C:/CORE_FILES/nginxlog/error.log debug;

#The internal IP of the VM that hosts your Apache config

location /{

	if ( $request_uri ~ ^/(\d+)/([^/]+)) {

		proxy_pass   http://192.168.0.101:$1/$2/;

		#proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;

	}

proxy_http_version 1.1;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host www.analytix.ai;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection “upgrade”;

	sub_filter "192.168.0.101:5007" "www.analytix.ai:443";

sub_filter_once off;

proxy_buffering off;

}

location ~ ^/(\d+)/static/ {

#location /static/ {

autoindex on;

alias /bokehstatic/static/;

}

}

···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

Attached is the proxy conf:

server {

listen 443;

server_name www.analytix.ai;

    charset     utf-8;

client_max_body_size 30M;

access_log C:/CORE_FILES/nginxlog/access.log;

error_log C:/CORE_FILES/nginxlog/error.log debug;

#The internal IP of the VM that hosts your Apache config

location /{

	if ( $request_uri ~ ^/(\d+)/([^/]+)) {

		proxy_pass   http://192.168.0.101:$1/$2/;

		#proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;

	}

proxy_http_version 1.1;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host www.analytix.ai;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection “upgrade”;

	sub_filter "192.168.0.101:5007" "www.analytix.ai:443";

sub_filter_once off;

proxy_buffering off;

}

location ~ ^/(\d+)/static/ {

#location /static/ {

autoindex on;

alias /bokehstatic/static/;

}

}

···

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE html { width: 100%; height: 100%; } body { width: 90%; height: 100%; margin: auto; }

A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604".
15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e".
15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d".
15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <
15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <
15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <
15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <
15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can't offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

···

On Sep 24, 2017, at 14:31, Sebastian Maurice <[email protected]> wrote:

Attached is the proxy conf:

server {
    listen 443;
  server_name www.analytix.ai;
      charset utf-8;
    client_max_body_size 30M;
    access_log C:/CORE_FILES/nginxlog/access.log;
    error_log C:/CORE_FILES/nginxlog/error.log debug;
    
  #The internal IP of the VM that hosts your Apache config

     location /{
    if ( $request_uri ~ ^/(\d+)/([^/]+)) {
      proxy_pass http://192.168.0.101:$1/$2/;
      #proxy_pass /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
      
    }
    
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host www.analytix.ai;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    sub_filter "192.168.0.101:5007" "www.analytix.ai:443";
        sub_filter_once off;
    
        proxy_buffering off;

    }

  location ~ ^/(\d+)/static/ {
  #location /static/ {
  autoindex on;
  alias /bokehstatic/static/;
     
  }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:
Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>OTICS WHAT-IF ENGINE</title>
<link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
<script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
<script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
<script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
<script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
<script type="text/javascript">
Bokeh.set_log_level("info");
</script>
<style>
html {
width: 100%;
height: 100%;
}
body {
width: 90%;
height: 100%;
margin: auto;
}
</style>
</head>
<body>
<div class="bk-root">
<div class="bk-plotdiv" id="86ae7a18-5b00-42ee-aa6e-00fa70c36285"></div>
</div>
<script type="text/javascript">
(function() {
var fn = function() {
Bokeh.safely(function() {
var docs_json = {};
var render_items = [{"elementid":"86ae7a18-5b00-42ee-aa6e-00fa70c36285","sessionid":"My2OwaLPOMm839scpen1U8yFWM2TLjIvAijBJ2DTSsBP","use_for_title":true}];
Bokeh.embed.embed_items(docs_json, render_items);
});
};
if (document.readyState != "loading") fn();
else document.addEventListener("DOMContentLoaded", fn);
})();
</script>
</body>
</html>

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Interesting…i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS… This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)… ithere an easy way out from this maze?

Set up layouts and add to document

inputs = widgetbox(myobjs)

mainrow=column(plot,data_table)

mainrow2=row(mainrow,inputs)

if objcnt-1==0:

mainlayout=column(mainrow2)

curdoc().add_root(mainlayout)

else:

mainlayout.children[0]=column(mainrow2)

curdoc().title = “OTICS WHAT-IF ENGINE”

···

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven [email protected] wrote:

A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can’t offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

On Sep 24, 2017, at 14:31, Sebastian Maurice [email protected] wrote:

Attached is the proxy conf:

server {

listen 443;
  server_name [www.analytix.ai](http://www.analytix.ai);
      charset     utf-8;
client_max_body_size 30M;
access_log  C:/CORE_FILES/nginxlog/access.log;
error_log  C:/CORE_FILES/nginxlog/error.log debug;
  #The internal IP of the VM that hosts your Apache config
 location /{
          if ( $request_uri ~ ^/(\d+)/([^/]+)) {
                  proxy_pass   http://192.168.0.101:$1/$2/;
                  #proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
          }
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host [www.analytix.ai](http://www.analytix.ai);
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
          sub_filter "[192.168.0.101:5007](http://192.168.0.101:5007)" "[www.analytix.ai:443](http://www.analytix.ai:443)";
    sub_filter_once off;
    proxy_buffering off;
}
  location ~ ^/(\d+)/static/ {
  #location /static/ {
  autoindex on;
  alias /bokehstatic/static/;
  }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE

html {

width: 100%;

height: 100%;

}

body {

width: 90%;

height: 100%;

margin: auto;

}

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects

Bryan

···

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven [email protected] wrote:

A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can’t offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

On Sep 24, 2017, at 14:31, Sebastian Maurice [email protected] wrote:

Attached is the proxy conf:

server {

listen 443;
  server_name [www.analytix.ai](http://www.analytix.ai);
      charset     utf-8;
client_max_body_size 30M;
access_log  C:/CORE_FILES/nginxlog/access.log;
error_log  C:/CORE_FILES/nginxlog/error.log debug;
  #The internal IP of the VM that hosts your Apache config
 location /{
          if ( $request_uri ~ ^/(\d+)/([^/]+)) {
                  proxy_pass   [http://192.168.0.101:$1/$2/](http://192.168.0.101:%241/%242/);
                  #proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
          }
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host [www.analytix.ai](http://www.analytix.ai);
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
          sub_filter "[192.168.0.101:5007](http://192.168.0.101:5007)" "[www.analytix.ai:443](http://www.analytix.ai:443)";
    sub_filter_once off;
    proxy_buffering off;
}
  location ~ ^/(\d+)/static/ {
  #location /static/ {
  autoindex on;
  alias /bokehstatic/static/;
  }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE

html {

width: 100%;

height: 100%;

}

body {

width: 90%;

height: 100%;

margin: auto;

}

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

I guess I should add: I am not an nginx expert, far from it. The sum total of what I know is pretty much contained in the user's guide section I linked earlier. You may have better luck asking for help in some place that specifically has more people with nginx expertise.

Tho again, the quickest thing to try that I can suggest is to remove that second location block for "static" entirely.

When you run outside the proxy, the page is loading BokehJS static resources directly from the Bokeh server. That line has the effect of bypassing the Bokeh server. Removing that block should let the Bokeh server take care of providing BokehJS for page loads.

Bryan

···

On Sep 24, 2017, at 16:21, Bryan Van de ven <[email protected]> wrote:

I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects

Bryan

On Sep 24, 2017, at 15:37, Sebastian Maurice <[email protected]> wrote:

Interesting...i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS.. This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)... ithere an easy way out from this maze?

    # Set up layouts and add to document
    inputs = widgetbox(myobjs)
    mainrow=column(plot,data_table)
    mainrow2=row(mainrow,inputs)

        if objcnt-1==0:
        mainlayout=column(mainrow2)
        curdoc().add_root(mainlayout)
    else:
        mainlayout.children[0]=column(mainrow2)
    curdoc().title = "OTICS WHAT-IF ENGINE"

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven <[email protected]> wrote:
A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604".
15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e".
15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d".
15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <
15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <
15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <
15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <
15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can't offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

> On Sep 24, 2017, at 14:31, Sebastian Maurice <[email protected]> wrote:
>
> Attached is the proxy conf:
>
> server {
> listen 443;
> server_name www.analytix.ai;
> charset utf-8;
> client_max_body_size 30M;
> access_log C:/CORE_FILES/nginxlog/access.log;
> error_log C:/CORE_FILES/nginxlog/error.log debug;
>
> #The internal IP of the VM that hosts your Apache config
>
> location /{
> if ( $request_uri ~ ^/(\d+)/([^/]+)) {
> proxy_pass http://192.168.0.101:$1/$2/;
> #proxy_pass /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
>
> }
>
> proxy_http_version 1.1;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header Host www.analytix.ai;
> proxy_set_header Upgrade $http_upgrade;
> proxy_set_header Connection "upgrade";
> sub_filter "192.168.0.101:5007" "www.analytix.ai:443";
> sub_filter_once off;
>
> proxy_buffering off;
>
> }
>
>
> location ~ ^/(\d+)/static/ {
> #location /static/ {
> autoindex on;
> alias /bokehstatic/static/;
>
>
> }
>
>
> }
>
> On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:
> Hi,
>
> I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen
>
> Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:
>
>
> <!DOCTYPE html>
> <html lang="en">
> <head>
> <meta charset="utf-8">
> <title>OTICS WHAT-IF ENGINE</title>
> <link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
> <link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
> <link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
> <script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
> <script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
> <script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
> <script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
> <script type="text/javascript">
> Bokeh.set_log_level("info");
> </script>
> <style>
> html {
> width: 100%;
> height: 100%;
> }
> body {
> width: 90%;
> height: 100%;
> margin: auto;
> }
> </style>
> </head>
> <body>
> <div class="bk-root">
> <div class="bk-plotdiv" id="86ae7a18-5b00-42ee-aa6e-00fa70c36285"></div>
> </div>
> <script type="text/javascript">
> (function() {
> var fn = function() {
> Bokeh.safely(function() {
> var docs_json = {};
> var render_items = [{"elementid":"86ae7a18-5b00-42ee-aa6e-00fa70c36285","sessionid":"My2OwaLPOMm839scpen1U8yFWM2TLjIvAijBJ2DTSsBP","use_for_title":true}];
> Bokeh.embed.embed_items(docs_json, render_items);
> });
> };
> if (document.readyState != "loading") fn();
> else document.addEventListener("DOMContentLoaded", fn);
> })();
> </script>
> </body>
> </html>
>
> --
> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.
> For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
-----
Sebastian Maurice, PhD
Mobile: 403-612-5443

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rFUD4_i_Q-5_XK6N0kFyOyhmnxAonwdmebc6QejwzfRgw%40mail.gmail.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Clarify: that *section* has the effect of bypassing the Bokeh server

Bryan

···

On Sep 24, 2017, at 16:52, Bryan Van de ven <[email protected]> wrote:

I guess I should add: I am not an nginx expert, far from it. The sum total of what I know is pretty much contained in the user's guide section I linked earlier. You may have better luck asking for help in some place that specifically has more people with nginx expertise.

Tho again, the quickest thing to try that I can suggest is to remove that second location block for "static" entirely.

When you run outside the proxy, the page is loading BokehJS static resources directly from the Bokeh server. That line has the effect of bypassing the Bokeh server. Removing that block should let the Bokeh server take care of providing BokehJS for page loads.

Bryan

On Sep 24, 2017, at 16:21, Bryan Van de ven <[email protected]> wrote:

I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects

Bryan

On Sep 24, 2017, at 15:37, Sebastian Maurice <[email protected]> wrote:

Interesting...i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS.. This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)... ithere an easy way out from this maze?

   # Set up layouts and add to document
   inputs = widgetbox(myobjs)
   mainrow=column(plot,data_table)
   mainrow2=row(mainrow,inputs)

       if objcnt-1==0:
       mainlayout=column(mainrow2)
       curdoc().add_root(mainlayout)
   else:
       mainlayout.children[0]=column(mainrow2)
   curdoc().title = "OTICS WHAT-IF ENGINE"

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven <[email protected]> wrote:
A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604".
15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e".
15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d".
15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <
15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <
15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <
15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <
15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can't offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

On Sep 24, 2017, at 14:31, Sebastian Maurice <[email protected]> wrote:

Attached is the proxy conf:

server {
   listen 443;
     server_name www.analytix.ai;
         charset utf-8;
   client_max_body_size 30M;
   access_log C:/CORE_FILES/nginxlog/access.log;
   error_log C:/CORE_FILES/nginxlog/error.log debug;

     #The internal IP of the VM that hosts your Apache config

    location /{
             if ( $request_uri ~ ^/(\d+)/([^/]+)) {
                     proxy_pass http://192.168.0.101:$1/$2/;
                     #proxy_pass /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;

             }

       proxy_http_version 1.1;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Host www.analytix.ai;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "upgrade";
             sub_filter "192.168.0.101:5007" "www.analytix.ai:443";
       sub_filter_once off;

       proxy_buffering off;

   }

     location ~ ^/(\d+)/static/ {
     #location /static/ {
     autoindex on;
     alias /bokehstatic/static/;

     }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:
Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>OTICS WHAT-IF ENGINE</title>
<link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
<link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
<script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
<script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
<script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
<script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
<script type="text/javascript">
Bokeh.set_log_level("info");
</script>
<style>
html {
width: 100%;
height: 100%;
}
body {
width: 90%;
height: 100%;
margin: auto;
}
</style>
</head>
<body>
<div class="bk-root">
<div class="bk-plotdiv" id="86ae7a18-5b00-42ee-aa6e-00fa70c36285"></div>
</div>
<script type="text/javascript">
(function() {
var fn = function() {
Bokeh.safely(function() {
var docs_json = {};
var render_items = [{"elementid":"86ae7a18-5b00-42ee-aa6e-00fa70c36285","sessionid":"My2OwaLPOMm839scpen1U8yFWM2TLjIvAijBJ2DTSsBP","use_for_title":true}];
Bokeh.embed.embed_items(docs_json, render_items);
});
};
if (document.readyState != "loading") fn();
else document.addEventListener("DOMContentLoaded", fn);
})();
</script>
</body>
</html>

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
-----
Sebastian Maurice, PhD
Mobile: 403-612-5443

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rFUD4_i_Q-5_XK6N0kFyOyhmnxAonwdmebc6QejwzfRgw%40mail.gmail.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Thanks Bryan…i will play with this again tonight. i am not too confident it will work but will let the group know. if i need specifc Nginx group support will seek that group out.

···

On Sun, Sep 24, 2017 at 5:55 PM, Bryan Van de ven [email protected] wrote:

Clarify: that section has the effect of bypassing the Bokeh server

Bryan

On Sep 24, 2017, at 16:52, Bryan Van de ven [email protected] wrote:

I guess I should add: I am not an nginx expert, far from it. The sum total of what I know is pretty much contained in the user’s guide section I linked earlier. You may have better luck asking for help in some place that specifically has more people with nginx expertise.

Tho again, the quickest thing to try that I can suggest is to remove that second location block for “static” entirely.

When you run outside the proxy, the page is loading BokehJS static resources directly from the Bokeh server. That line has the effect of bypassing the Bokeh server. Removing that block should let the Bokeh server take care of providing BokehJS for page loads.

Bryan

On Sep 24, 2017, at 16:21, Bryan Van de ven [email protected] wrote:

I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects

Bryan

On Sep 24, 2017, at 15:37, Sebastian Maurice [email protected] wrote:

Interesting…i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS… This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)… ithere an easy way out from this maze?

Set up layouts and add to document

inputs = widgetbox(myobjs)

mainrow=column(plot,data_table)

mainrow2=row(mainrow,inputs)

   if objcnt-1==0:
   mainlayout=column(mainrow2)
   curdoc().add_root(mainlayout)

else:

   mainlayout.children[0]=column(mainrow2)

curdoc().title = “OTICS WHAT-IF ENGINE”

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven [email protected] wrote:

A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can’t offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

On Sep 24, 2017, at 14:31, Sebastian Maurice [email protected] wrote:

Attached is the proxy conf:

server {

listen 443;

 server_name [www.analytix.ai](http://www.analytix.ai);
     charset     utf-8;

client_max_body_size 30M;

access_log C:/CORE_FILES/nginxlog/access.log;

error_log C:/CORE_FILES/nginxlog/error.log debug;

 #The internal IP of the VM that hosts your Apache config
location /{
         if ( $request_uri ~ ^/(\d+)/([^/]+)) {
                 proxy_pass   http://192.168.0.101:$1/$2/;
                 #proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
         }
   proxy_http_version 1.1;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Host [www.analytix.ai](http://www.analytix.ai);
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";
         sub_filter "[192.168.0.101:5007](http://192.168.0.101:5007)" "[www.analytix.ai:443](http://www.analytix.ai:443)";
   sub_filter_once off;
   proxy_buffering off;

}

 location ~ ^/(\d+)/static/ {
 #location /static/ {
 autoindex on;
 alias /bokehstatic/static/;
 }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE

html {

width: 100%;

height: 100%;

}

body {

width: 90%;

height: 100%;

margin: auto;

}

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rFUD4_i_Q-5_XK6N0kFyOyhmnxAonwdmebc6QejwzfRgw%40mail.gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/EA086083-72A8-4747-9D53-D7D4321C82E7%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

If it's possible for you to put things up in a public GH repo, I could try to actually run things to see if that sheds more light. However, I fly out early to a conference tomorrow and will be occupied every day all week, so it would not be until the week after that I could take a look.

Thanks,

Bryan

···

On Sep 24, 2017, at 17:46, Sebastian Maurice <[email protected]> wrote:

Thanks Bryan..i will play with this again tonight. i am not too confident it will work but will let the group know. if i need specifc Nginx group support will seek that group out.

On Sun, Sep 24, 2017 at 5:55 PM, Bryan Van de ven <[email protected]> wrote:
Clarify: that *section* has the effect of bypassing the Bokeh server

Bryan

> On Sep 24, 2017, at 16:52, Bryan Van de ven <[email protected]> wrote:
>
> I guess I should add: I am not an nginx expert, far from it. The sum total of what I know is pretty much contained in the user's guide section I linked earlier. You may have better luck asking for help in some place that specifically has more people with nginx expertise.
>
> Tho again, the quickest thing to try that I can suggest is to remove that second location block for "static" entirely.
>
> When you run outside the proxy, the page is loading BokehJS static resources directly from the Bokeh server. That line has the effect of bypassing the Bokeh server. Removing that block should let the Bokeh server take care of providing BokehJS for page loads.
>
> Bryan
>
>
>
>> On Sep 24, 2017, at 16:21, Bryan Van de ven <[email protected]> wrote:
>>
>> I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects
>>
>> Bryan
>>
>> On Sep 24, 2017, at 15:37, Sebastian Maurice <[email protected]> wrote:
>>
>>> Interesting...i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS.. This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)... ithere an easy way out from this maze?
>>>
>>>
>>> # Set up layouts and add to document
>>> inputs = widgetbox(myobjs)
>>> mainrow=column(plot,data_table)
>>> mainrow2=row(mainrow,inputs)
>>>
>>> if objcnt-1==0:
>>> mainlayout=column(mainrow2)
>>> curdoc().add_root(mainlayout)
>>> else:
>>> mainlayout.children[0]=column(mainrow2)
>>> curdoc().title = "OTICS WHAT-IF ENGINE"
>>>
>>>
>>> On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven <[email protected]> wrote:
>>> A proximate cause of the problem (one of, there are possibly more) is certainly this:
>>>
>>> Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604".
>>> 15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e".
>>> 15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d".
>>> 15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <
>>> 15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <
>>> 15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <
>>> 15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <
>>> 15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined
>>>
>>> The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.
>>>
>>> I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can't offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.
>>>
>>> Bryan
>>>
>>>> On Sep 24, 2017, at 14:31, Sebastian Maurice <[email protected]> wrote:
>>>>
>>>> Attached is the proxy conf:
>>>>
>>>> server {
>>>> listen 443;
>>>> server_name www.analytix.ai;
>>>> charset utf-8;
>>>> client_max_body_size 30M;
>>>> access_log C:/CORE_FILES/nginxlog/access.log;
>>>> error_log C:/CORE_FILES/nginxlog/error.log debug;
>>>>
>>>> #The internal IP of the VM that hosts your Apache config
>>>>
>>>> location /{
>>>> if ( $request_uri ~ ^/(\d+)/([^/]+)) {
>>>> proxy_pass http://192.168.0.101:$1/$2/;
>>>> #proxy_pass /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
>>>>
>>>> }
>>>>
>>>> proxy_http_version 1.1;
>>>> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>>>> proxy_set_header Host www.analytix.ai;
>>>> proxy_set_header Upgrade $http_upgrade;
>>>> proxy_set_header Connection "upgrade";
>>>> sub_filter "192.168.0.101:5007" "www.analytix.ai:443";
>>>> sub_filter_once off;
>>>>
>>>> proxy_buffering off;
>>>>
>>>> }
>>>>
>>>>
>>>> location ~ ^/(\d+)/static/ {
>>>> #location /static/ {
>>>> autoindex on;
>>>> alias /bokehstatic/static/;
>>>>
>>>>
>>>> }
>>>>
>>>>
>>>> }
>>>>
>>>> On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:
>>>> Hi,
>>>>
>>>> I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen
>>>>
>>>> Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:
>>>>
>>>>
>>>> <!DOCTYPE html>
>>>> <html lang="en">
>>>> <head>
>>>> <meta charset="utf-8">
>>>> <title>OTICS WHAT-IF ENGINE</title>
>>>> <link rel="stylesheet" href="static/css/bokeh.min.css?v=aff472d598b101a4d4a4c214f39d9604" type="text/css" />
>>>> <link rel="stylesheet" href="static/css/bokeh-widgets.min.css?v=509e292d9a7ef7e9eb8382fcde7b4a6e" type="text/css" />
>>>> <link rel="stylesheet" href="static/css/bokeh-tables.min.css?v=aa783ffa4e290813a295a99cce2f8b5d" type="text/css" />
>>>> <script type="text/javascript" src="static/js/bokeh.min.js?v=109998b11e3a484f5edd1d191d6338a2"></script>
>>>> <script type="text/javascript" src="static/js/bokeh-widgets.min.js?v=1e7d9b3a9277b5d7b436fc82ac20197e"></script>
>>>> <script type="text/javascript" src="static/js/bokeh-tables.min.js?v=a167e11218858d6d2bcbcfdc21a84833"></script>
>>>> <script type="text/javascript" src="static/js/bokeh-gl.min.js?v=bd3543fa9b2c283463abffbdfcc78e36"></script>
>>>> <script type="text/javascript">
>>>> Bokeh.set_log_level("info");
>>>> </script>
>>>> <style>
>>>> html {
>>>> width: 100%;
>>>> height: 100%;
>>>> }
>>>> body {
>>>> width: 90%;
>>>> height: 100%;
>>>> margin: auto;
>>>> }
>>>> </style>
>>>> </head>
>>>> <body>
>>>> <div class="bk-root">
>>>> <div class="bk-plotdiv" id="86ae7a18-5b00-42ee-aa6e-00fa70c36285"></div>
>>>> </div>
>>>> <script type="text/javascript">
>>>> (function() {
>>>> var fn = function() {
>>>> Bokeh.safely(function() {
>>>> var docs_json = {};
>>>> var render_items = [{"elementid":"86ae7a18-5b00-42ee-aa6e-00fa70c36285","sessionid":"My2OwaLPOMm839scpen1U8yFWM2TLjIvAijBJ2DTSsBP","use_for_title":true}];
>>>> Bokeh.embed.embed_items(docs_json, render_items);
>>>> });
>>>> };
>>>> if (document.readyState != "loading") fn();
>>>> else document.addEventListener("DOMContentLoaded", fn);
>>>> })();
>>>> </script>
>>>> </body>
>>>> </html>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.
>>>> For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.
>>> For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>>>
>>>
>>>
>>> --
>>> -----
>>> Sebastian Maurice, PhD
>>> Mobile: 403-612-5443
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rFUD4_i_Q-5_XK6N0kFyOyhmnxAonwdmebc6QejwzfRgw%40mail.gmail.com.
>>> For more options, visit https://groups.google.com/a/continuum.io/d/optout.
>

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/EA086083-72A8-4747-9D53-D7D4321C82E7%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

--
-----
Sebastian Maurice, PhD
Mobile: 403-612-5443

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rEizVhvyuXLieHCGoCm3WcmFA9nemhajJn6RAWjYq7ZEw%40mail.gmail.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Thats great. I will continue to bang my head trying to solve this…if i just cannot do it i will take you up on your suggestion. It is important i solve this. I even tried proxy through iis…and still no luck.

Bokeh is a probably the best integrated (with python) visualuzation i seen in data science.i would hate to give up on it because of this silly css/ js error.

Thank you again!

···

On Sep 24, 2017 7:08 PM, “Bryan Van de ven” [email protected] wrote:

If it’s possible for you to put things up in a public GH repo, I could try to actually run things to see if that sheds more light. However, I fly out early to a conference tomorrow and will be occupied every day all week, so it would not be until the week after that I could take a look.

Thanks,

Bryan

On Sep 24, 2017, at 17:46, Sebastian Maurice [email protected] wrote:

Thanks Bryan…i will play with this again tonight. i am not too confident it will work but will let the group know. if i need specifc Nginx group support will seek that group out.

On Sun, Sep 24, 2017 at 5:55 PM, Bryan Van de ven [email protected] wrote:

Clarify: that section has the effect of bypassing the Bokeh server

Bryan

On Sep 24, 2017, at 16:52, Bryan Van de ven [email protected] wrote:

I guess I should add: I am not an nginx expert, far from it. The sum total of what I know is pretty much contained in the user’s guide section I linked earlier. You may have better luck asking for help in some place that specifically has more people with nginx expertise.

Tho again, the quickest thing to try that I can suggest is to remove that second location block for “static” entirely.

When you run outside the proxy, the page is loading BokehJS static resources directly from the Bokeh server. That line has the effect of bypassing the Bokeh server. Removing that block should let the Bokeh server take care of providing BokehJS for page loads.

Bryan

On Sep 24, 2017, at 16:21, Bryan Van de ven [email protected] wrote:

I’m not suggesting not using a proxy in general, I am specifically referring to the “bokehstatic” redirects

Bryan

On Sep 24, 2017, at 15:37, Sebastian Maurice [email protected] wrote:

Interesting…i thought those were strange. Note i do go directly yo Bokeh server (without going through NGINX in the middle) and that works fine. i really do need the reverse proxy to work because several different users interact with the plot at the same time with different data. I have not looked at BokehJS… This is how the bokeh document is created (part of my code): I have it all working (without nginx - but with nginx i get the white screen)… ithere an easy way out from this maze?

Set up layouts and add to document

inputs = widgetbox(myobjs)

mainrow=column(plot,data_table)

mainrow2=row(mainrow,inputs)

   if objcnt-1==0:
   mainlayout=column(mainrow2)
   curdoc().add_root(mainlayout)

else:

   mainlayout.children[0]=column(mainrow2)

curdoc().title = “OTICS WHAT-IF ENGINE”

On Sun, Sep 24, 2017 at 4:12 PM, Bryan Van de ven [email protected] wrote:

A proximate cause of the problem (one of, there are possibly more) is certainly this:

Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh.min.css/?v=aff472d598b101a4d4a4c214f39d9604”.

15:22:43.694 smaurice_5007:9 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-widgets.min.css/?v=509e292d9a7ef7e9eb8382fcde7b4a6e”.

15:22:43.698 smaurice_5007:10 Resource interpreted as Stylesheet but transferred with MIME type text/html: “http://www.analytix.ai:443/5007/static/css/bokeh-tables.min.css/?v=aa783ffa4e290813a295a99cce2f8b5d”.

15:22:44.112 ?v=109998b11e3a484f5edd1d191d6338a2:1 Uncaught SyntaxError: Unexpected token <

15:22:44.122 ?v=1e7d9b3a9277b5d7b436fc82ac20197e:1 Uncaught SyntaxError: Unexpected token <

15:22:44.123 ?v=a167e11218858d6d2bcbcfdc21a84833:1 Uncaught SyntaxError: Unexpected token <

15:22:44.124 ?v=bd3543fa9b2c283463abffbdfcc78e36:1 Uncaught SyntaxError: Unexpected token <

15:22:44.125 smaurice_5007:17 Uncaught ReferenceError: Bokeh is not defined

The browser is not successfully loading BokehJS resources at all, so that would certainly explain nothing getting displayed.

I note that you are trying to have nginx load the static BokehJS resources instead of letting the Bokeh server itself server them. My guess is the is something amiss in this: either nginx is serving the wrong mime type, or the files you have copied to the nginx static location are missing or corrupt somehow, or something else entirely. Unfortunately, I am not an nginx expert so I can’t offer much more advice than to simply let Bokeh server serve the BokehJS resources, at least as a first experiment.

Bryan

On Sep 24, 2017, at 14:31, Sebastian Maurice [email protected] wrote:

Attached is the proxy conf:

server {

listen 443;

 server_name [www.analytix.ai](http://www.analytix.ai);
     charset     utf-8;

client_max_body_size 30M;

access_log C:/CORE_FILES/nginxlog/access.log;

error_log C:/CORE_FILES/nginxlog/error.log debug;

 #The internal IP of the VM that hosts your Apache config
location /{
         if ( $request_uri ~ ^/(\d+)/([^/]+)) {
                 proxy_pass   http://192.168.0.101:$1/$2/;
                 #proxy_pass   /inetpub/wwwroot/T2A_WEBSITE/stocks/otics/oticslanding/test.php;
         }
   proxy_http_version 1.1;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Host [www.analytix.ai](http://www.analytix.ai);
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";
         sub_filter "[192.168.0.101:5007](http://192.168.0.101:5007)" "[www.analytix.ai:443](http://www.analytix.ai:443)";
   sub_filter_once off;
   proxy_buffering off;

}

 location ~ ^/(\d+)/static/ {
 #location /static/ {
 autoindex on;
 alias /bokehstatic/static/;
 }

}

On Saturday, September 23, 2017 at 6:44:44 PM UTC-4, Sebastian Maurice wrote:

Hi,

I have bee struggling with this problem for a few weeks, the problem is detailed here: https://stackoverflow.com/questions/46290307/bokeh-sever-with-nginx-gives-blank-white-screen

Anycase if i connect to Bokeh server directly over port 80 or 443, it is fine, it is when i connect via NGINX (using proxy_pass) to interval server, i connect to Bokeh but what i see on the website is a blanl white screen - this is page source from NGINX/BOKEH:

OTICS WHAT-IF ENGINE

html {

width: 100%;

height: 100%;

}

body {

width: 90%;

height: 100%;

margin: auto;

}

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/7cb6944e-21e4-46a3-bc70-5bfc8442f884%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/A0570586-BB1F-451D-BE09-E8A2FB504D76%40anaconda.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rFUD4_i_Q-5_XK6N0kFyOyhmnxAonwdmebc6QejwzfRgw%40mail.gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/EA086083-72A8-4747-9D53-D7D4321C82E7%40anaconda.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.


Sebastian Maurice, PhD

Mobile: 403-612-5443

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CADZk7rEizVhvyuXLieHCGoCm3WcmFA9nemhajJn6RAWjYq7ZEw%40mail.gmail.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/3746B56F-B754-4E41-B64D-77B8A0AAE736%40anaconda.com.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.