chore(config): 针对智能客服WebSocket访问地址,由服务器端指定分配

This commit is contained in:
2026-01-21 11:50:30 +08:00
parent 43edae2f90
commit 31456469a3
3 changed files with 134 additions and 2 deletions

View File

@@ -0,0 +1,124 @@
proxy_cache_path /www/dk_project/sites/dev.aigc-quickapp.com/proxy_cache_dir levels=1:2 keys_zone=dev_aigc-quickapp_com_cache:20m inactive=1d max_size=5g;
server {
listen 80;
listen 443 quic;
listen 443 ssl;
http2 on;
server_name dev.aigc-quickapp.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/dk_project/wwwroot/dev.aigc-quickapp.com;
#CERT-APPLY-CHECK--START
# 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
include /www/server/panel/vhost/nginx/well-known/dev.aigc-quickapp.com.conf;
#CERT-APPLY-CHECK--END
#SSL-START SSL相关配置请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/dev.aigc-quickapp.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/dev.aigc-quickapp.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#SSL-END
#REDIRECT START
#REDIRECT END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#WEBSOCKET-SUPPORT START
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
#WEBSOCKET-SUPPORT END
#PROXY-CONF-START
location ^~ / {
proxy_pass http://127.0.0.1:8050;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_buffering off;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
#PROXY-CONF-END
#SERVER-BLOCK START
location ~* ^/ws/(.*)$ {
# 先尝试直接转发,不修改路径
proxy_pass http://localhost:8050;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
# 禁用缓冲确保WebSocket数据实时传输
proxy_buffering off;
proxy_buffer_size 4k;
proxy_buffers 4 4k;
proxy_busy_buffers_size 4k;
proxy_max_temp_file_size 0;
# 可选设置超时WebSocket 是长连接)
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
# 可设置server|location等所有server字段
# location /web {
# try_files $uri $uri/ /index.php$is_args$args;
# }
# error_page 404 /diy_404.html;
# 如果反代网站访问异常且这里已经配置了内容,请优先排查此处的配置是否正确
client_max_body_size 500M; # 👈 关键配置!根据需要调整,比如 500M 或 1G
#SERVER-BLOCK END
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) {
return 404;
}
#一键申请SSL证书验证目录相关设置
location /.well-known {
allow all;
}
#禁止在证书验证目录放入敏感文件
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
#LOG START
access_log /www/wwwlogs/dev.aigc-quickapp.com.log;
error_log /www/wwwlogs/dev.aigc-quickapp.com.error.log;
#LOG END
}

View File

@@ -128,7 +128,15 @@ class Config extends BaseApi
$map_config = $config_model->getMapConfig($this->site_id, 'shop')[ 'data' ][ 'value' ]; $map_config = $config_model->getMapConfig($this->site_id, 'shop')[ 'data' ][ 'value' ];
// 智能客服配置信息 // 智能客服配置信息
$aikefu_config = event('KefuGetConfig', ['site_id' => $this->site_id], true); $aikefu_config = [
'ws_url' => '/ws/aikefu', // websocket 通讯地址
];
$aikefu_config_value = event('KefuGetConfig', ['site_id' => $this->site_id], true);
if (is_array($aikefu_config_value) && isset($aikefu_config_value['enabled'])) {
if ($aikefu_config_value['enabled'] == true) {
$aikefu_config = array_merge($aikefu_config, $aikefu_config_value);
}
}
$website_model = new SiteModel(); $website_model = new SiteModel();
$site_info = $website_model->getSiteInfo([ [ 'site_id', '=', $this->site_id ] ], 'site_id,site_domain,site_name,logo,seo_title,seo_keywords,seo_description,site_tel,logo_square')[ 'data' ]; $site_info = $website_model->getSiteInfo([ [ 'site_id', '=', $this->site_id ] ], 'site_id,site_domain,site_name,logo,seo_title,seo_keywords,seo_description,site_tel,logo_square')[ 'data' ];

View File

@@ -653,7 +653,7 @@ function hasEvent($event)
* 传入参数 * 传入参数
* @param bool $once * @param bool $once
* 只获取一个有效返回值 * 只获取一个有效返回值
* @return void * @return array|string|void
*/ */
function event($event, $args = [], $once = false) function event($event, $args = [], $once = false)
{ {