跳至主要內容

鼎盈拉链

chanchaw大约 3 分钟客户资料

概述

前后分离项目。后端 springboot 由3个项目:前端、后端、FineReport 构成,所以跨网访问的话是要访问其前端项目 https://www.新东方智能化云域名.club/zfe

服务器

本节点创建于 2025年8月11日,域名 wxbezipper.网筒项目域名.fit 部署在 织造云数据 服务器上,nginx 配置文件路径是 /etc/nginx/conf.d/wxbezipper.conf ,本域名归属武的 qq 号的腾讯云账号下

各项目

硬件

计划开单使用的电脑就是服务器,没有别人使用了。车间一个触摸屏用于工序刷卡(原本设计有3个工序,后来只有一个工序在刷卡)

本地服务器 nginx 配置

域名 zipperdye 的行号 23,24 是解决 FineReport 在 iframe 中显示出错的问题

# 报表后台服务
location /fr {
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:8083/fr;
}

# zipperdye 前端项目
location /zfe {
	alias D:\zipperdye\frontend;
	index index.html;
	try_files $uri $uri/ /index.html;
}

# zipperdye 后端项目
location /zipperdye {
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:7075/zipperdye;
	proxy_redirect http://127.0.0.1:7075/zipperdye /zipperdye;
	proxy_cookie_path /zipperdye /zipperdye;

	proxy_hide_header X-Frame-Options;
	add_header X-Frame-Options "ALLOWALL";
}

由于报表的域名 fr 和前端页面的域名 zfe 不同,在前端项目的主页面上要引用 FineReport 的 js 文件,要这样写:

<script type="text/javascript" src="../fr/ReportServer?op=emb&resource=finereport.js"></script>

表示上移后使用 fr 域名替换前端页面的域名 zfe ,然后按照路径找到 finereport.js

本地服务器 frp 配置

nginx 默认代理了80端口,那么 frp 要使用端口号 15975 代理 80,15976 代理 zipperdye 的后台服务,15977 代理 FineReport 后台服务,配置内容见:

[web80_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 15975

[webzipper_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 7075
remote_port = 15976

[fr_chanchaw]
type = tcp
local_ip = 127.0.0.1
local_port = 8083
remote_port = 15977

云端服务器 nginx 配置

在服务器上安装了 nginx、frp ,财务要跨网访问项目。由于 nginx 代理了80端口,跨网访问时 15975 被自动更换为80,又被浏览器默认省略,导致跨网访问有问题,需要云服务器(染厂微信)在 nginx 中配置项目名称映射到线下服务器 frp 上。此时需要调整前端的 【协议+主机+端口号】,要同时满足可以局域网访问和跨网访问。又由于云端服务器上设置的 80 自动跳转443,所以要在 nginx 的 443 下设置,代码如下:

# zipper front end
location /zfe {
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:15975/zfe;
}

location /zipperdye {
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:15976/zipperdye;
	proxy_redirect http://127.0.0.1:15976/zipperdye /zipperdye;
	proxy_cookie_path /zipperdye /zipperdye;
}

# 映射到拉链服务器的后台报表服务
location /fr {
	proxy_set_header Host $host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:15977/fr;
}

之后访问项目:https://互联网域名/zfe/index.html

部署多项目解决方案

该解决方案分3个项目:前端、后端、报表。三者通过 nginx 反向代理整合一起,这样部署可以减小后端项目的大小,之后更新方便。解决方案目录: 前端项目 - D:\zipperdye\frontend 后端项目 - D:\zipperdye\prime。访问地址:http://localhost/zipperdye 报表服务 - D:\zipperdye\report。访问地址:http:/localhost/fr 完整项目文件见阿里云盘客户资料下的 zipperdye 目录下的 zipperdye.zip nginx 配置:

server {
        listen       80;
        server_name  localhost xzyerpserver three;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
		


        location / {
            root   html;
            index  index.html index.htm;
        }
		
        # 报表服务
        location /fr {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:8083/fr;
        }

        # zipperdye 前端项目
        location /zfe {
            alias D:\zipperdye\frontend;
            index index.html;
            try_files $uri $uri/ /index.html;
        }

        # zipperdye 后端项目
        location /zipperdye {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:7075/zipperdye;
            proxy_redirect http://127.0.0.1:7075/zipperdye /zipperdye;
            proxy_cookie_path /zipperdye /zipperdye;

            proxy_hide_header X-Frame-Options;
            add_header X-Frame-Options "ALLOWALL";
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

软件逻辑

成品入库

车间刷卡最后一道工序系统即产生成品入库 - 不是生成成品入库数据,拿工序刷卡数据作为成品入库数据。