[Paraview] Paraview Web with SSL

Sebastien Jourdain sebastien.jourdain at kitware.com
Wed Aug 24 16:52:05 EDT 2016


Are you sure apache has the right to read the /home/daniel/proxy.txt while
the launcher is writting it?

Do you see some content that match your sessionId within that file?

On Wed, Aug 24, 2016 at 1:57 PM, Daniel Zuidinga <info at seoaachen.de> wrote:

>
> I changed sessionManagerURL in my html file to vtkWeb.properties.sessionManagerURL
> instead of http://localhost:8080/paraview. Now I get in firefox:
>
> Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.
> jquery-1.8.3.min.js:2:0
> GET
> http://localhost/proxy [HTTP/1.1 400 Bad Request 16ms]
> null Visualizer:42:13
> Firefox can't establish a connection to the server at
> ws://localhost/proxy?sessionId=7d12745c-6a34-11e6-a5dc-0016d4e2bc28.
> autobahn.min.js:114:0
> GET
> http://localhost/proxy [HTTP/1.1 400 Bad Request 2ms]
> null
>
> ...I think one more thing is needed.
>
>
>
> Am 24.08.2016 um 21:51 schrieb Daniel Zuidinga:
>
> I had wrong paths in my launcher.config properties.
> Now the request gets through and the vtk window opens. But I have still
> the ws error. Firefox console:
>
> Firefox can't establish a connection to the server at ws://localhost/ws.
> autobahn.min.js:114:0
> null Visualizer:42:13
> Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.
> jquery-1.8.3.min.js:2:0
> No launcher found.  Attempting to connect using the direct WS url.
> vtkweb-all.js:4456:19
>
> --- vtk window opens, then:
>
> Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
> remote resource at http://localhost:8080/paraview. (Reason: CORS header
> 'Access-Control-Allow-Origin' missing). <unknown>
> GET
> http://localhost/ws [HTTP/1.1 404 Not Found 2ms]
> null Visualizer:42:13
> Firefox can't establish a connection to the server at ws://localhost/ws.
>
>
> Am 24.08.2016 um 19:18 schrieb Sebastien Jourdain:
>
> Actually the hostname might be an issue if you have several network card.
> Can you try to use the computer IP? Or '0.0.0.0' for the launcher if that
> work?
>
> Otherwise I did not spotted any issue in your config.
>
> On Wed, Aug 24, 2016 at 11:14 AM, Daniel Zuidinga <info at seoaachen.de>
> wrote:
>
>> - apache 2.4.12
>> - modules are enabled
>> - launcher.py launches without error, resrouces and apps section are in
>> the config file as described in the documentation
>> are all ports and hostnames right in my configuration files? apache is
>> localhost and paraview also
>>
>>
>> Am 24.08.2016 um 16:22 schrieb Sebastien Jourdain:
>>
>> Hi Daniel,
>>
>> Which version of Apache are you running?
>>
>> Did you enabled all the modules?
>>
>> $ sudo a2enmod vhost_alias
>> $ sudo a2enmod proxy
>> $ sudo a2enmod proxy_http
>> $ sudo a2enmod proxy_wstunnel
>> $ sudo a2enmod rewrite
>>
>>
>> For the launcher configuration, do you have a proper "resources" and
>> "apps" section?
>>
>> I'm guessing you are looking at the following documentation pages?
>>
>> - https://kitware.github.io/paraviewweb/docs/guides/apache_front_end.html
>> - https://kitware.github.io/paraviewweb/docs/guides/python_launcher.html
>>
>> Once you have the forwarding of the launcher request working, the next
>> part will be the forwarding of the ws. But we can talk about it when and if
>> you run into issue about it.
>>
>> Seb
>>
>> On Wed, Aug 24, 2016 at 2:22 AM, Daniel Zuidinga <info at seoaachen.de>
>> wrote:
>>
>>> I tried to run the launcher as described in the docs. But I am still
>>> getting errors when running http://localhost/apps/Visualizer/
>>>
>>> Firefox console:
>>>
>>> -------------------------------
>>>
>>> 1. when setting sessionManagerURL in html set to
>>> vtkWeb.properties.sessionManagerURL:
>>>
>>> POST
>>> XHR
>>> http://localhost/paraview/ [HTTP/1.1 503 Service Unavailable 48ms]
>>> Object { error: "The process did not properly start.…" } Visualizer:42:13
>>>
>>>
>>> 2. when setting sessionManagerURL in html to
>>> http://localhost:8080/paraview:
>>>
>>> Firefox can't establish a connection to the server at ws://localhost/ws.
>>> autobahn.min.js:114:0
>>> null Visualizer:42:13
>>> No launcher found.  Attempting to connect using the direct WS url.
>>> vtkweb-all.js:4456:19
>>> Use of getPreventDefault() is deprecated.  Use defaultPrevented instead.
>>> jquery-1.8.3.min.js:2:0
>>> Cross-Origin Request Blocked: The Same Origin Policy disallows reading
>>> the remote resource at http://localhost:8080/paraview. (Reason: CORS
>>> header 'Access-Control-Allow-Origin' missing). <unknown>
>>> GET
>>> http://localhost/ws [HTTP/1.1 404 Not Found 12ms]
>>> null
>>>
>>>
>>> So the launcher can't start the pv webserver? But running
>>> http://localhost:8080/paraview/1 in browser works but says: {"error":
>>> "No session with id: 1"}
>>>
>>>
>>> My apache config:
>>>
>>> -----------------------------
>>>
>>> <VirtualHost *:80>
>>>     ServerName localhost
>>>     ServerAdmin info at seoaachen.de
>>>     DocumentRoot /home/daniel/salome_meca/V2016
>>> /prerequisites/Paraview-v501_EDF/share/paraview-5.0/www
>>>     ErrorLog "logs/pv-error_log"
>>>     CustomLog "logs/pv-access_log" common
>>>     ### The following commented lines could be useful when running
>>>     ### over https and wss:
>>>     # SSLEngine On
>>>     # SSLCertificateFile    /etc/apache2/ssl/your_certificate.crt
>>>     # SSLCertificateKeyFile /etc/apache2/ssl/your_domain_key.key
>>>     # SSLCertificateChainFile /etc/apache2/ssl/DigiCertCA.crt
>>>     #
>>>     # <Location ${MY-DOCUMENT-ROOT} >
>>>     #   SSLRequireSSL On
>>>     #   SSLVerifyClient optional
>>>     #   SSLVerifyDepth 1
>>>     #   SSLOptions +StdEnvVars +StrictRequire
>>>     # </Location>
>>>     # Have Apache pass these requests to the launcher :9000
>>>     ProxyPass /paraview http://localhost:8080/paraview
>>>     # Turn on the rewrite engine
>>>     RewriteEngine On
>>>     # This is the path the mapping file Jetty creates
>>>     RewriteMap session-to-port txt:/home/daniel/proxy.txt
>>>     # This is the rewrite condition. Look for anything with a sessionId=
>>> in the query part of the URL and capture the value to use below.
>>>     RewriteCond %{QUERY_STRING}     ^sessionId=(.*)$ [NC]
>>>     # This does the rewrite using the mapping file and the sessionId
>>>     RewriteRule    ^/proxy.*$  ws://${session-to-port:%1}/ws  [P]
>>>     <Directory "/home/daniel/salome_meca/V201
>>> 6/prerequisites/Paraview-v501_EDF/share/paraview-5.0/www">
>>>         Options Indexes FollowSymLinks
>>>         Order allow,deny
>>>         Allow from all
>>>         AllowOverride None
>>>         Require all granted
>>>     </Directory>
>>> </VirtualHost>
>>>
>>>
>>>
>>> my launcher.json
>>>
>>> ----------------------------
>>>
>>>  "configuration": {
>>>             "host" : "localhost",
>>>
>>>             "port" : 8080,
>>>             "endpoint": "paraview",
>>>             "content": "/.../www",
>>>             "proxy_file" : "/home/daniel/proxy.txt",
>>>                "sessionURL": "ws://localhost/proxy?sessionId=${id}",
>>>
>>>             "timeout" : 25,
>>>             "log_dir" : "/home/daniel",
>>>             "upload_dir" : "/home/daniel",
>>>             "fields" : ["file", "host", "port", "updir"]
>>>         },
>>>
>>>
>>> What am I doing wrong?
>>>
>>>
>>> Daniel Zuidinga
>>> Dipl.-Ing.
>>>
>>> SEO Aachen
>>> Passstr. 5
>>> 52070 Aachen
>>>
>>> Tel   : 0241 / 450 912 67
>>> E-Mail: info at seoaachen.de
>>> Web   : http://www.seoaachen.de (nur zum Teil aktuell)
>>> Xing  : https://www.xing.com/profile/Daniel_Zuidinga
>>>
>>> Bald online: Software Tools für Konstrukteure und Bauteilherstellerhttp://www.engineeringonline.de
>>>
>>> Am 22.08.2016 um 22:32 schrieb Sebastien Jourdain:
>>>
>>> Hi Daniel,
>>>
>>>> I want to use paraview web with SSL. As far as I understand I need
>>>> apache as a proxy server for that? Or is it possible with pvpython?
>>>
>>> It might be possible with pvpython, but I've never done it, I've always
>>> used apache to rely on a single opened port and handle the encryption.
>>>
>>>
>>>> I have my own launcher which opens pvpython with a different port for
>>>> each user. Is this the right way? Will this work with ssl?
>>>
>>> If pvpython directly support the wss connection, you can be good.
>>> Usually the setup, that I do is that I have Apache serving only the port
>>> 443 (https) for both the static content and the (wss) websocket endpoint.
>>> And I use a mapping file between the Websocket endpoint that get returned
>>> by my launcher and the host/port I should connect to on the backend to
>>> establish the link between the client and the actual ParaViewWeb server
>>> instance.
>>> But that does not mean, that's the only way to do it and if you don't
>>> mind having several port open, I don't see why it could not work.
>>>
>>>
>>>> Concerning: https://kitware.github.io/visualizer/docs/ The web
>>>> visuailzer should work via npm installation? It does not work for me:
>>>> C:\Users\danie\AppData\Roaming\npm\node_modules\pvw-visualiz
>>>> er\bin\pvw-visualizer-cli.js:41 var pvPythonExecs =
>>>> find(paraview).filter(function(file) { return file.match(/pvpython$/)
>>>> || file.match(/pvpython.exe$/); });                                    ^
>>>> TypeError: find(...).filter is not a function     at Object.<anonymous>
>>>> (C:\Users\danie\AppData\Roaming\npm\node_modules\pvw-visuali
>>>> zer\bin\pvw-visualizer-cli.js:41:36)     at Module._compile
>>>> (module.js:409:26)     at Object.Module._extensions..js (module.js:416:10)
>>>>     at Module.load (module.js:343:32)     at Function.Module._load
>>>> (module.js:300:12)     at Function.Module.runMain (module.js:441:10)     at
>>>> startup (node.js:139:18)     at node.js:968:3
>>>
>>> Well, I guess I haven't tried to run the new Visualizer server on a
>>> Windows machine.
>>> But with ParaView 5.2 (yet to be released), we should have a ParaViewWeb
>>> back in the binaries. So we should make sure our Visualizer command line
>>> tool work on that platform as well.
>>> Although, the command line is more for beginners than anything else as
>>> it only simplify the demo usage. In real word deployment, with a launcher,
>>> the true pvpython command line should be used instead.
>>> Here is an example of what you should see in a working environment:
>>> $ Visualizer -d ~/Downloads/
>>> ============================================================
>>> ===================
>>> | Execute:
>>> | $ /Applications/paraview.app/Contents/bin/pvpython
>>> |   -dr
>>> |   /Users/seb/Documents/code/Web2/visualizer/server/pvw-visualizer.py
>>> |   --content
>>> |   /Users/seb/Documents/code/Web2/visualizer/dist
>>> |   --port
>>> |   8080
>>> |   --data
>>> |   /Users/seb/Downloads/
>>> ============================================================
>>> ===================
>>> [...]
>>> -- Daniel Zuidinga Dipl.-Ing. SEO Aachen Passstr. 5 52070 Aachen Tel   :
>>> 0241 / 450 912 67 E-Mail: info at seoaachen.de Web   :
>>> http://www.seoaachen.de (nur zum Teil aktuell) Xing  :
>>> https://www.xing.com/profile/Daniel_Zuidinga Bald online: Software
>>> Tools für Konstrukteure und Bauteilhersteller
>>> http://www.engineeringonline.de _______________________________________________
>>> Powered by www.kitware.com Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html Please keep messages
>>> on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaV
>>> iew Search the list archives at: http://markmail.org/search/?q=ParaView
>>> Follow this link to subscribe/unsubscribe:
>>> http://public.kitware.com/mailman/listinfo/paraview
>>>
>>> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:http://public.kitware.com/mailman/listinfo/paraview
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Search the list archives at: http://markmail.org/search/?q=ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/paraview
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20160824/c2e4c463/attachment.html>


More information about the ParaView mailing list