创建订单成功后跳转到页面:pageDomain + "/pay/" + order.getOrderNo()
页面进行了websoket连接,对应的地址是:wss://epay.xxxx.cn/xxxx-server/ws/pay/M190298627950/USR1NOzk2vTC1776830428
对应项目的PayResultWebSocket.java类
对应的nginx配置如下:
# 请将伪静态规则或自定义NGINX配置填写到此处
# 连接地址:ws://host:port/ws/pay/{merchantNo}/{outTradeNo}
location /xxxx-server/ws/ {
# 注意:proxy_pass 末尾没有斜杠,表示保留原始 URI 路径转发
proxy_pass http://localhost:7001;
# WebSocket 支持核心配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 超时设置,防止 WebSocket 连接因空闲被切断
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_connect_timeout 60s;
# 透传真实 IP 和主机信息
proxy_set_header Host $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;
}
location /xxxx-server/ { ## 后端项目 - 管理后台
proxy_pass http://localhost:7001/xxx-server/; ## 重要!!!proxy_pass 需要设置为后端项目所在服务器的 IP
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 处理 Project A
location /xxxx-admin/ {
alias /www/wwwroot/xxxx-admin/;
try_files $uri $uri/ /xxxx-admin/index.html;
# 可选:添加缓存控制
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 7d;
add_header Cache-Control "public, immutable";
}
}
# 处理 Project B
location /xxxx-merchant/ {
alias /www/wwwroot/xxxx-merchant/;
try_files $uri $uri/ /xxxx-merchant/index.html;
# 可选:添加缓存控制
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 7d;
add_header Cache-Control "public, immutable";
}
}
# 根路径处理:如果希望根路径返回404或特定页面
location / {
# 选项1: 返回404
#return 404;
# 选项2: 重定向到 app1
rewrite ^/$ /xxxx-merchant/ permanent;
# 选项3: 如果根目录下有独立的首页,保留默认行为
# try_files $uri $uri/ /index.html;
}