VNC access from external network

horizn

Well-Known Member
Aug 21, 2017
34
2
46
45
Hi,
I have working Windows 10 VM, and I am able to access GUI using Console/noVNC. However, I have configured reverse proxy on Apache (with limited IPs allowed) to access Proxmox VMs remotely. Unfortunately I can't access Console/noVNC when I am outside of local network, which I understand is because VM has local IP address only. Is there any option to pass the traffic?

This is my Apache config:

Code:
<IfModule mod_ssl.c>                                                                                                                                
<Virtualhost *:80>                                                                                                                                      
        ServerName gdynia.domain.com                                                                                                      
        Redirect permanent / https://gdynia.domain.com/                                                                            
        LogLevel warn                                                                                                                                   
        SetEnvIf Remote_Addr "::1" dontlog                                                                                                  
        CustomLog "/var/log/apache2/gdynia.domain.com_custom.log" combined                                      
        ErrorLog "/var/log/apache2/gdynia.domain.com_error.log"                                                            
</Virtualhost>                                                                                                                                             
                                                                                                   
<Virtualhost *:443>                                                                                                                                   
        ServerName gdynia.domain.com
        SSLEngine On
        SSLProxyEngine On
        SSLProxyVerify none

        SSLProxyCheckPeerCN     off
        SSLProxyCheckPeerName   off
        SSLProxyCheckPeerExpire off

        SSLCertificateFile      /etc/letsencrypt/live/gdynia.domain.com/fullchain.pem
        SSLCertificateKeyFile   /etc/letsencrypt/live/gdynia.domain.com/privkey.pem

        Header always set Strict-Transport-Security "max-age=15768000"

        <Proxy "*">
                Require all denied
                Require ip 9.10.11.12/32
                Require ip 5.6.7.8/24
                Require ip 1.2.3.4/32
        </Proxy>

        ProxyRequests off
        ProxyPreserveHost on
        RequestHeader unset Accept-Encoding

        ProxyPass / https://192.168.100.1:8006/ connectiontimeout=5 timeout=300 retry=0
        ProxyPassReverse        /  https://192.168.100.1:8006/

        # Websocket
        ProxyPass / wss://192.168.100.1:8006/ retry=0
        ProxyPassReverse / wss://192.168.100.1:8006/

        LogLevel warn
        SetEnvIf Remote_Addr "::1" dontlog
        CustomLog "/var/log/apache2/gdynia.domain.com_custom.log" combined
        ErrorLog "/var/log/apache2/gdynia.domain.com_error.log"

</Virtualhost>
</IfModule>

SSLProtocol                             all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite                          ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder                     on
SSLCompression                          off
SSLSessionTickets                       off

SSLUseStapling                          on
SSLStaplingResponderTimeout             5
SSLStaplingReturnResponderErrors        off
SSLStaplingCache                        shmcb:/var/run/ocsp(128000)
 
Last edited:
Hi,
I have working Windows 10 VM, and I am able to access GUI using Console/noVNC. However, I have configured reverse proxy on Apache (with limited IPs allowed) to access Proxmox VMs remotely. Unfortunately I can't access Console/noVNC when I am outside of local network, which I understand is because VM has local IP address only. Is there any option to pass the traffic?

This is my Apache config:

I have configured the same for Nginx, as explained here:
https://pve.proxmox.com/wiki/Web_Interface_Via_Nginx_Proxy
and here:
https://forum.proxmox.com/threads/apache-proxypass-proxmox-webui-novnc-websockets.21050/

Now I am able to connect, but I am getting blank screen instead like others. Is there anyone who can share or confirm it is working with reverse proxy?