Linux上SperMap iPortal 配置443端口的https
前言
很多客户在Linux环境下使用SperMap iPortal(下文简称iPortal)配置https的时候想要只使用域名不加端口进行访问.也不想使用nginx做代理,就想到了使用默认的443端口进行配置,结果发现配置后iPortal无法正常启动,为什么呢?下文中详细描述:
报错原因
之所以使用443端口报错是因为在Linux系统中非root用户只能启动1024以上端口,小于1024的端口都是需要使用root用户去启动的.所以iPortal会无法正常启动并在日志中抛出一个权限不够的报错如下图:
解决方法
上面简述了问题产生的原因那么怎么解决呢?
有以下两种方式:
1. 使用root用户启动
修改iPortal配置文件内容让iPortal启动的时候不启动es数据库
在WEB-INF(【SuperMap iPortal 安装目录】\webapps\iportal\WEB-INF)目录下的iportal.xml文件中将下列参数修改为false, 修改后保存文件
<startElasticSearch>false</startElasticSearch>
在iPortal安装目录/bin 文件夹下切换到非root用户,并单独启动es数据库
su xkf
./startes.sh
待es启动完成后切换到root用户启动iPortal
su root
./startup.sh
启动完成后即可通过443的缺省端口访问使用iPortal了
2. 修改443端口为非root用户可用
① 切换到root用户
su root
然后输入root 用户的密码
② 编辑/etc/sysctl.conf文件
vi /etc/sysctl.conf
// 然后在文件末尾添加下面参数,修改非特权端口的最小值,并保存修改
net.ipv4.ip_unprivileged_port_start=443
③ 使更改生效
sysctl -p