用NPM或者其他Nginx类产品反向代理Pnet Lab

PNETLAB是一种网络虚拟化实验平台,旨在为网络工程师、学生和培训机构提供一个安全、高效、易于使用的环境来构建和运行网络实验。它提供了各种虚拟化技术(如QEMU、Docker等),可以模拟复杂的网络拓扑和应用场景,让用户在不同的网络环境中进行实践操作,掌握和提高网络技能和知识。

镜像

相关设备镜像可去LabHub下载
LabHub官网:https://labhub.eu.org

镜像站:

beta.labhub.eu.org (托管在 OneDrive)
drive.labhub.eu.org (托管在 Google Drive)
legacy.labhub.eu.org (托管在 Google Drive)
alist.labhub.eu.org (托管在 OneDrive)

问题

反向代理Pnet Lab的网站后,浏览器访问会显示 Mixed Content ,有些博客上说这是因为链接中混杂了http请求,需要添加

proxy_set_header X-Forwarded-Proto $scheme;

之类的头部,但是这是无效的。

解决

正确的做法是:
登录Pnet Lab虚拟机,进入

cd /opt/unetlab/html/store/public/main/js/angularjs

打开目录下 app.js

vi app.js

查找

if (response.status == '200' && response.statusText == 'OK')

将它修改为

if (response.status == '200')

保存、重启虚拟机,清除浏览器缓存后生效。
本方法适用于NPM 、Nginx、OpenResty,其他的未测试,应当是通用的。

方法来源:Reddit论坛