星空旗舰版配置外网内网访问原创
金蝶云社区-youle
youle
7人赞赏了该文章 215次浏览 未经作者许可,禁止转载编辑于2024年12月04日 14:14:25
summary-icon摘要由AI智能服务提供

本文介绍了如何配置星空旗舰版轻量级环境以支持外网和内网访问。针对仅能单一访问的问题,提出了使用Nginx配置nginx.conf文件的解决方案,详细说明了配置步骤和参数设置,确保能够通过内外网路径分别访问服务。

本文适用范围

星空旗舰版轻量级环境配置外网、内网访问。如果按照这种方式配置不成功,欢迎私信交流,共同完善。



为什么要写这个帖子

在社区查找配置外网访问的时候,有看到这种解决方案:星空旗舰版配置外网访问。但小伙伴反馈按照这种方式配置后,只能通过外网访问,不能通过内网访问。那有没有支持外网访问和内网访问的方法呢?这个困扰了我一段时间,直到我看到了这个帖子:金蝶云·苍穹多地址访问,这似乎是一个可行的方案。


在这里将配置外网的情况分为三种:

  1. 在带有公网ip的服务器上部署环境,需要通过公网ip访问,这种情况只需参考:星空旗舰版配置外网访问,到启动脚本配置 domain.contextUrl 即可。

  2. 在内网服务器上部署环境,通过内网穿透工具等手段配置公网访问,如果不需要内网访问,也是按照1中的方式来处理即可。

  3. 在情况2的基础上,如果还需要提供内网访问,就要用到Nginx来配置了,这也是本文要介绍的。



如何配置Nginx

前置条件:

  • 了解Nginx的安装和配置,本文不做介绍,可以自行学习了解,这里只介绍如何配置nginx.conf实现内网、外网访问。

  • 了解内网穿透等工具的使用,已经成功配置内网穿透。


参数说明:

我们以星空旗舰服务为例,在开发者工具上,它的访问地址如下图,127.0.0.1:8080/ierp:

image.png


内网穿透工具的配置为:external.com.cn:9998->127.0.0.1:9998,注意两边的端口可以是不一样的。


这个时候,我们可以修改nginx.conf配置文件,在http块下添加2个server配置,如下:

image.png


修改保存之后,通过nginx -s reload 重新加载配置,就可以通过内网和外网访问旗舰服务了。

内网访问路径:http://127.0.0.1:9999/ierp/

外网访问路径:http://external.com.cn:9998/ext/


具体代码

下面给出示例配置,具体的参数根据自己的情况来调整。


     # 内网访问
    server {
        listen       9999; # 在这里修改内网访问端口。修改之后,要同步修改location /ext/ 中的proxy_pass
        server_name  galaxy_private;

        location ~(\.(do|jsp)$)|(\.)|(/ierp/(kapi|kdctlres|attachment|excelpreview|kws|cbs|monitor)/)|(/ierp/?$)|(/ierp/(index\.html|mobile\.html|login\.html|login-mobile\.html)$)|(monitor)/ {
            proxy_pass http://127.0.0.1:8080;  # 这里配置开发者工具中的旗舰服务访问地址,注意不要加上/ierp
            proxy_set_header tenantAlias ierp; #传租户ID
        }
    }

    # 外网访问
    server {
        listen       9998; # 在这里配置外网映射到本地的端口,注意这里和proxy_set_header clientDomain无关
        server_name  galaxy_public;

        location /ext/ {
            proxy_pass http://127.0.0.1:9999/ierp/;  #转发到内网配置去 
            proxy_connect_timeout    1800;
            proxy_read_timeout    1800;
            proxy_send_timeout    1800;
            proxy_set_header    Host  $host:$server_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  Connection "";
            proxy_set_header  X-Forwarded-Proto $scheme;
            proxy_set_header  X-NginX-Proxy true;
            proxy_set_header clientDomain http://external.com.cn:9998/ext/; 在这里配置外网路径,注意加上/ext/(与location保持一致)
        }
    }



本文参考

星空旗舰版配置外网访问

金蝶云·苍穹多地址访问

图标赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!