<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">I replaced the placeholder video in the web application with an actual tutorial. It introduces the user to the basics of graphs and explains the app’s different functionalities. Feel free to provide feedback on it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What I did not get to work is properly linking the app to test.collec.repec.org. I am unexperienced with Apache and have no idea how to fix that configuration. The ShinyProxy website (<a href="https://www.shinyproxy.io/security/">https://www.shinyproxy.io/security/</a>)
 mentions a configuration using Nginx:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">server {<o:p></o:p></p>
<p class="MsoNormal">  listen                80;<o:p></o:p></p>
<p class="MsoNormal">  server_name           shinyproxy.yourdomain.com;<o:p></o:p></p>
<p class="MsoNormal">  rewrite     ^(.*)     https://$server_name$1 permanent;<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">server {<o:p></o:p></p>
<p class="MsoNormal">  listen                443;<o:p></o:p></p>
<p class="MsoNormal">  server_name           shinyproxy.yourdomain.com;<o:p></o:p></p>
<p class="MsoNormal">  access_log            /var/log/nginx/shinyproxy.access.log;<o:p></o:p></p>
<p class="MsoNormal">  error_log             /var/log/nginx/shinyproxy.error.log error;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  ssl on;<o:p></o:p></p>
<p class="MsoNormal">  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  ssl_certificate       /etc/ssl/certs/yourdomain.com.crt;<o:p></o:p></p>
<p class="MsoNormal">  ssl_certificate_key   /etc/ssl/private/yourdomain.com.key;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">   location / {<o:p></o:p></p>
<p class="MsoNormal">       proxy_pass          http://127.0.0.1:8080/;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">       proxy_http_version 1.1;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header Upgrade $http_upgrade;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header Connection "upgrade";<o:p></o:p></p>
<p class="MsoNormal">       proxy_read_timeout 600s;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">       proxy_redirect    off;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header  Host             $http_host;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header  X-Real-IP        $remote_addr;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;<o:p></o:p></p>
<p class="MsoNormal">       proxy_set_header  X-Forwarded-Proto $scheme;<o:p></o:p></p>
<p class="MsoNormal">     }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My questions on Stack Overflow (<a href="https://stackoverflow.com/q/63112223/9084488">https://stackoverflow.com/q/63112223/9084488</a>) and Server Fault (<a href="https://serverfault.com/q/1029219/587099">https://serverfault.com/q/1029219/587099</a>)
 asking to translate that code to Apache did, unfortunately, not invoke any answers or comments.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Does anyone on this list know how to do this? The current configuration is:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><VirtualHost *:80><o:p></o:p></p>
<p class="MsoNormal">  ServerName test.collec.repec.org<o:p></o:p></p>
<p class="MsoNormal">  ServerAlias test.collec.openlib.org<o:p></o:p></p>
<p class="MsoNormal">  ErrorLog /var/log/apache2/collec.proxy-error.log<o:p></o:p></p>
<p class="MsoNormal">  CustomLog /var/log/apache2/collec-access.log  combined<o:p></o:p></p>
<p class="MsoNormal">  UseCanonicalName Off<o:p></o:p></p>
<p class="MsoNormal">  ProxyPass / http://localhost:8080/<o:p></o:p></p>
<p class="MsoNormal">  ProxyPassReverse  / http://localhost:8080/<o:p></o:p></p>
<p class="MsoNormal">  RewriteEngine on<o:p></o:p></p>
<p class="MsoNormal">  RewriteCond %{HTTP:Upgrade} =websocket<o:p></o:p></p>
<p class="MsoNormal">  RewriteRule /(.*) ws://localhost:8080/$1 [P,L]<o:p></o:p></p>
<p class="MsoNormal"></VirtualHost><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;color:black;mso-fareast-language:DE">Christian Düben<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;color:black;mso-fareast-language:DE">Research Associate<br>
Chair of Macroeconomics<br>
Hamburg University<br>
Von-Melle-Park 5, Room 3102<br>
20146 Hamburg<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;color:black;mso-fareast-language:DE">Germany<br>
+49 40 42838 1898<br>
</span><span lang="DE" style="font-size:10.0pt;color:black;mso-fareast-language:DE"><a href="mailto:christian.dueben@uni-hamburg.de"><span lang="EN-US" style="color:#0563C1">christian.dueben@uni-hamburg.de</span></a></span><span style="font-size:10.0pt;color:black;mso-fareast-language:DE"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:10.0pt;color:black;mso-fareast-language:DE"><a href="http://www.christian-dueben.com"><span style="color:#0563C1">http://www.christian-dueben.com</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
</div>
</body>
</html>