LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

致远OA配HTTPS?别踩坑!老司机血泪避坑指南(附详细教程)

admin
2026年2月14日 10:9 本文热度 70

“配个HTTPS,踩坑踩到怀疑人生!”——作为致远OA从7.1用到9.1的“资深受害者”,今天必须把这份避坑秘籍分享给各位同行!从证书申请到配置落地,手把手教你避开那些官方文档没写的坑,省下时间多摸鱼不香吗?

导语


一、


HTTPS配置:本该10分钟的事,为啥成了“技术马拉松”?

但问题来了:致远OA配HTTPS真不是“申请证书就能用”,官方文档模糊,社区教程老旧(尤其9.1版本),稍不注意就卡在证书校验、端口配置或反向代理上…

  • 证书申请容易,部署踩坑多:致远OA不同版本(如7.1/8.0/9.1)对证书格式、私钥要求可能不同,稍不匹配就会报错“证书无效”。

  • 反向代理配置复杂:如果通过Nginx/Apache反向代理HTTPS,需额外调整代理规则,否则可能出现“页面能打开但功能报错”。

  • 云端强制捆绑收费:部分企业迁移到集团“所谓的高安全云平台”后,不仅基础资源费翻3倍,还要额外收取“安全服务费”“证书托管费”……

二、


致远OA实现加密访问的逻辑图

我们通过 Nginx 做反向代理,在 Nginx 里完成 SSL 证书的部署与 HTTPS 配置,只需在 Nginx 侧统一管理 HTTPS,协同 OA 以及它依赖的所有中间件(包括东方通、金蝶、宝兰德等信创中间件)都不需要做任何改动——它们依旧保持默认的HTTP模式运行,HTTPS 的全部管理工作全部由 Nginx 承担。

三、


准备事项

这里埋了一个不小的坑:需要使用Sticky模块!

3.1

提前部署Nginx

Nginx的Sticky模块是一种基于Cookie的负载均衡解决方案,能够确保来自同一客户端的请求始终路由到同一台后端服务器,从而实现会话保持,大致原理:

  1. 客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。

  2. 后端服务器处理完请求,将响应数据返回给nginx。

  3. 此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash值。

  4. 客户端接收请求,并保存带route的cookie。

  5. 当客户端下一次发送请求时,会带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。

 

# 创建目录
mkdir
 /usr/local/nginx/module
cd
 /usr/local/nginx/module
#下载sticky

wget https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz
tar xf master.tar.gz
#解压

tar -zxvf master.tar.gz

#进入nginx安装目录

cd
 /usr/local/nginx-1.9.9

./configure --prefix=/usr/local/nginx-1.9.9 \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/run/nginx.pid \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--with-pcre \
--user=nginx \
--group=nginx \
--with-stream \
--with-threads \
--with-file-aio \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--add-module=/usr/local/nginx/module/nginx-sticky-module            #在此载入sticky模块
make
# 更新检测

make upgrade 
# 查看模块是否被载入

cd
 /usr/local/nginx-1.9.9
./sbin/nginx -V

#查看是否添加成功

./sbin/nginx -V

 

3.2

提前准备SSL证书

SSL证书的申请渠道丰富多样(比如阿里云、腾讯云、DigiCert等),但价格差异悬殊(从免费到每年上千元不等),大家可以根据预算灵活选择。作者本次是在阿里云购买的通配符域名证书(如*.xxx.com),它的核心优势在于支持无限匹配同一主域下的所有二级域名——举个实际场景:假设企业OA系统的域名是oa.xxx.com,只要这些域名都属于xxx.com这一主域,同一张通配符证书就能全部覆盖,完全不用为每个二级域名单独申请证书,既省去了重复申请的麻烦,也大幅降低了证书管理成本和后续维护的复杂度。

3.3

Nginx配置HTTPS

在获取到与Nginx兼容的SSL证书后,建议将证书文件(通常包括.pem格式的证书文件和.key格式的私钥文件)统一存放在Nginx配置目录下的conf/ssl/子目录中(例如:/etc/nginx/conf/ssl/,具体路径可根据实际安装情况调整,文件名请以您下载的证书文件为准)。

参照以下示例修改Nginx的主配置文件nginx.conf,即可完成HTTPS服务的配置与管理。

 

bashworker_processes auto;
worker_rlimit_nofile
 20960;
error_log
  logs/error.log  error;
events
 {
    worker_connections
  4096;
    multi_accept
 on;
    accept_mutex
 on;
    accept_mutex_delay
 500ms;
 }
http
 {
        server_tokens
 off;
        sendfile
 on;
        tcp_nopush
 on;
        tcp_nodelay
 on;
        access_log
 off;
        include
       mime.types;
        default_type
  application/octet-stream;
        keepalive_timeout
  300;
        client_max_body_size
 10240M;
        gzip
 on;
        gzip_min_length
 1k;
        gzip_buffers
 416k;
        gzip_comp_level
 3;
        gzip_types
 text/xml text/plain text/css text/javascript application/x-javascript application/javascript application/xml;
        gzip_disable
 "MSIE [1-6]\.";
        upstream
 seeyon_v5_cluster{
      # 默认安装的Nginx无sticky模块无法启动,必须参考手册基于Linux或信创进行Nginx+sticky编译才能启动

            sticky;
            server
 192.168.0.1:80 max_fails=300 fail_timeout=30s;
            server
 192.168.0.2:80 max_fails=300 fail_timeout=30s;
        }
        server
 {
            listen
 443 ssl;
            ssl_certificate
 ssl/www.seeyon.com.pem;
            ssl_certificate_key
 ssl/www.seeyon.com.key;
      # TLS协议按需调整

            ssl_protocols
 TLSv1 TLSv1.1 TLSv1.2;
            charset
 utf-8;
            location
 / {
                proxy_pass
 http://seeyon_v5_cluster;
                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;
                proxy_set_header
 X-Forwarded-Proto $scheme;
                proxy_redirect
 http:// $scheme://;
                #proxy_redirect  off;

                proxy_connect_timeout
 300;
                proxy_read_timeout
 300;
                proxy_send_timeout
 300;
            }
            error_page
   500502503504  /50x.html;
            location
 = /50x.html {
                root
   html;
            }
        }
}

 

3.4

致远OA测HTTPS配置调整

新版本9.0+以上不需要再做额外的操作了,但是7.x和8.x需要在系统配置中勾选https

3.5

重新启动Nginx服务

以nginx安装在/home/nginx下为例,nginx的启动脚本为/home/nginx/sbin/nginx。重启后查看是否正常,启动示例如下:

 

# 切换命令行到nginx启动脚本目录
cd
 /home/nginx/sbin
# 启动

./nginx
# 重启

./nginx –s reload
# 指定配置文件重启,一般用于nginx异常停止后的启动

./nginx –c /home/nginx/conf/nginx.conf

 

3.6

Nginx调整http转https

找到nginx.conf文件进行编辑,在http段落中增加server段,并新增http协议的端口,做rewrite跳转:

 

    ......
    server
 {
        listen
 80;
        server_name
  localhost;
        charset
 utf-8;
        location
 / {
            rewrite
 ^(.*)$ https://$host$1 permanent;
        }
    }
    ......

 

到此配置是完成了,另外官方还有些性能调优的参数设置可以结合实际业务情况来做参考设置。

参数优化需依据nginx的运行情况,及服务器负载情况进行调整。常见的优化参数有以下内容:

  • worker_processes:nginx的进程数,一般为cpu的倍数,可以为1倍。

  • worker_rlimit_nofile:nginx的进程打开文件数,可以与ulimit --u的值一致。

  • worker_connections:每个进程允许的最多连接数。

  • keepalive_timeout:客户端超时时间,单位秒。

  • client_max_body_size:客户端连接的最大请求实体,影响协同系统的上传附件大小,建议设置大于或等于运行附件上传的最大值。

  • access_log:请求日志,建议无需调试时关闭(off)。


阅读原文:原文链接


该文章在 2026/2/14 17:23:03 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved