Appcube访问内网不通
问题描述
集成场景中,在满足接口协议要求的前题下,当AppCube的前端代码,通过http协议,访问后端提供的接口时,response为空,并出现卡顿现象。
问题原因
通过以上现象,最后定位发现,在AppCube的前端代码中,有访问安全保护机制,不允许在接口地址中包含“:”,也就是说只允许通过域名访问,或者80,443端口访问。
解决方法
在开发环境中,不便于申请域名,所以使用Nginx代理来解决该问题:
- Nginx服务器需要外网访问权限。
- 与后端部署服务器同域或者可以访问后端部署服务器。
配置方法:
- 修改端口号为80或者443。
样本
server { listen 80; server_name _; client_max_body_size 10000M; proxy_buffering on; proxy_buffer_size 64k; proxy_buffers 9 8k; proxy_busy_buffers_size 64k; proxy_max_temp_file_size 1024m; location ~/api/ { proxy_pass http://122.9.6.41:8880; add_header backendIP $upstream_addr; add_header backendCode $upstream_status; proxy_set_header Host $host:$proxy_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; } }