awake1t / linglong

一款甲方资产巡航扫描系统。系统定位是发现资产,进行端口爆破。帮助企业更快发现弱口令问题。主要功能包括: 资产探测、端口爆破、定时任务、管理后台识别、报表展示
1.73k stars 306 forks source link

提个建议 #61

Open Mustard404 opened 2 years ago

Mustard404 commented 2 years ago

建议

可以在Nginx上/api目录配置下反向代理;

Demo

http://ip/api目录直接指向api端口,就不用每次都改前端ip了 location /api { uwsgi_pass django; include /Savior/docker/uwsgi_params; }

awake1t commented 2 years ago

修改前端ip,就是因为前后端分离项目在第一次部署的时候。每个人的后端ip是不一样的。前端如果不写下后端ip,就是没有办法知道后端ip。 nginx反响代理也解决不了吧, 如果师傅解决了 欢迎分享下您的解决方案。谢谢哈 https://github.com/awake1t/linglong/blob/master/web/nginx.conf 感谢建议~

Mustard404 commented 2 years ago

前端修改,或者你编译的时候把api换下。

sed -i 's#http://127.0.0.1:18000#./api#g' ./dist/js/app.4dccb236.js && sed -i 's#http://127.0.0.1:18000#./api#g' ./dist/js/app.4dccb236.js.map

Nginx 修改

        location /api/ {
            proxy_set_header Host $http_host;
            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            -    proxy_pass  http://127.0.0.1:18000/api/;
            +   proxy_pass  http://server:18000/;
        }

nginx.zip

效果

image 这样也可以把api端口映射关闭了

awake1t commented 2 years ago

你这个是部署在虚拟机的了吧? 如果是的,你可以用 宿主机访问到虚拟机部署的linglong吗?

Mustard404 commented 2 years ago

嗯,在vm里面。宿主机没装桌面环境。我用curl简单测试了一下,访问8001端口可以返回server容器信息。 image

Mustard404 commented 2 years ago

你在docker-compose.yml里面已经depends_on到server了,所有nginx的proxy_pass参数直接server就可以了。你原来的Nginx.conf中proxy_pass http://127.0.0.1:18000/api/; 这个只会反向到web容器内的18000端口,而不是宿主机的端口。用depends_on:server替换ip。直接从docker网络内走了,server会直接指向server容器。

awake1t commented 2 years ago

谢谢师傅指教, 我太菜了,有机会我实践下。 我有个小疑问,为什么你正在宿主机里请求的是 127.0.0.1。 不是vm的192.呢?

Mustard404 commented 2 years ago

192也一样啊。。。。。我只是想表达这个是本机。。。 image

awake1t commented 2 years ago

好奇一下 为什么你的宿主机的 127.0.0.1 == Vm的192。168.20.130呢?

Tazkimi commented 1 year ago

@Mustard404 正确