onlyoffice监听https

news2025/6/20 22:02:10

修改onlyoffice

在开始将您的ONLYOFFICE Docs切换到HTTPS协议之前,您需要创建一个安全证书和证书私钥。将它们放到安装ONLYOFFICE Docs的计算机上的一个文件夹中。
获得证书后,请执行以下步骤:

所有命令都应以管理员权限执行。要以管理员身份启动命令提示符,请右键单击桌面左下角的 "开始 "菜单按钮,然后单击 "命令提示符(管理员)"选项。

  1. 停掉onlyoffice代理服务
    在这里插入图片描述
  2. 复制%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\ds-ssl.conf.tmpl%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\ds.conf
COPY /Y "%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\ds-ssl.conf.tmpl" "%ProgramFiles%\ONLYOFFICE\DocumentServer\nginx\conf\ds.conf"
  1. 编辑 %ProgramFiles%ONLYOFFICE\DocumentServer\nginx\confds.conf 文件,将双引号{{…}}中的所有参数改为实际使用的参数。
    {{SSL_CERTIFICATE_PATH}} -您获得的SSL证书的路径;
    {{SSL_KEY_PATH}} - SSL证书私钥的路径;
    {{SSL_VERIFY_CLIENT}} - 是否启用客户端证书验证(可用值为on、off、optional和optional_no_ca);
    {{CA_CERTIFICATES_PATH}} - 客户端证书的路径,如果使用先前的参数启用,则将验证该路径;;
    {{ONLYOFFICE_HTTPS_HSTS_MAXAGE}} -高级配置选项,用于在ONLYOFFICE Docs NGINX vHost配置中设置HSTS最大使用期限,仅在使用SSL时适用(通常默认为31536000,这被认为足够安全);
    {{SSL_DHPARAM_PATH}} - Diffie-Hellman参数的路径;

在这里插入图片描述
有关配置文件中使用的 SSL 参数的更多信息,请参阅 NGINX 文档。
完成所有更改后,您可以再次启动 ONLYOFFICE DocumentServer 代理服务:
在这里插入图片描述
5. Execute %ProgramFiles%\ONLYOFFICE\DocumentServer\bin\documentserver-update-securelink.bat
在这里插入图片描述

https://helpcenter.onlyoffice.com/installation/docs-enterprise-https-windows.aspx

按照上述教程弄好之后确实能访问https但是websocket连接报错,找了半天没有找到合适的解决方案,重新安装,准备尝试反向代理

在这里插入图片描述

反向代理

iis

安装https证书

准备好https的证书,解压,安装证书
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装插件

Application Request Routing
在这里插入图片描述
URL Rewrite
在这里插入图片描述
安装完成之后打开iis查看是否多了两个功能
在这里插入图片描述
双击Application Request
在这里插入图片描述
开启代理即可,别忘记点击应用
在这里插入图片描述

新建网站

在这里插入图片描述

URL重写代理

https://helpcenter.onlyoffice.com/installation/docs-community-proxy.aspx

iis尝试失败
在这里插入图片描述

双击URL重写,添加规则,选择空白规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模式填写(.*),重写填写http://localhost/{R:1}
在这里插入图片描述
点击应用访问https://localhost
在这里插入图片描述
但是这时候websocket还不行,需要代理websocket,再次修改规则
注意一下,只有IIS8.0以上才支持websocket。
{CACHE_URL} (.+)s://{CACHE_URL} (.*)s://
在这里插入图片描述
rewrite URL改为:{C:1}😕/需要代理的项目地址/{R:1}例如{C:1}://localhost/{R:1}
在这里插入图片描述
这样就实现了https和websocket的代理

最后的web.config配置如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="OnlyofficeWebsocketProxy">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="(.+)s://" />
                        <add input="{CACHE_URL}" pattern="(.*)s://" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}://localhost/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

不过运行项目遇到了一个错误,文档预览下载失败
在这里插入图片描述
在这里插入图片描述

iis尝试失败,如果有大佬知道请告知~~

nginx

下载

nginx版本1.25.4
下载nginxhttp://nginx.org/en/download.html

修改配置

修改nginx.conf


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    # Use this example for proxy HTTPS traffic to the document server running at 'backendserver-address'.
    # Replace {{SSL_CERTIFICATE_PATH}} with the path to the ssl certificate file
    # Replace {{SSL_KEY_PATH}} with the path to the ssl private key file
    
    upstream docservice {
      server 127.0.0.1;
    }
    
    map $http_host $this_host {
        "" $host;
        default $http_host;
    }
    
    map $http_x_forwarded_proto $the_scheme {
         default $http_x_forwarded_proto;
         "" $scheme;
    }
    
    map $http_x_forwarded_host $the_host {
        default $http_x_forwarded_host;
        "" $this_host;
    }
    
    map $http_upgrade $proxy_connection {
      default upgrade;
      "" close;
    }
    
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $proxy_connection;
    proxy_set_header X-Forwarded-Host $the_host;
    proxy_set_header X-Forwarded-Proto $the_scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    ## Normal HTTP host
    #server {
    #  listen 0.0.0.0:80;
    #  listen [::]:80 default_server;
    #  server_name _;
    #  server_tokens off;
    #
    #  ## Redirects all traffic to the HTTPS host
    #  return 301 https://$server_name:443$request_uri;
    #}
    
    server {
      listen 0.0.0.0:443 ssl;
      listen [::]:443 ssl default_server;
      server_tokens off;
      root /usr/share/nginx/html;
    
      ## Strong SSL Security
      ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
      # ssl on;
      ssl_certificate D:\\Onlyoffice\\nginx\\xxxx.pem;
      ssl_certificate_key D:\\Onlyoffice\\nginx\\xxxx.key;
      ssl_verify_client off;
    
      ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    
      ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
      ssl_session_cache  builtin:1000  shared:SSL:10m;
    
      ssl_prefer_server_ciphers   on;
    
      ## [Optional] Before enabling Strict-Transport-Security headers, ensure your server is properly configured for SSL.
      ## This directive informs the browser to always use HTTPS. For more info see:
      ## - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
      # add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
      # add_header X-Frame-Options SAMEORIGIN;
      add_header X-Content-Type-Options nosniff;
    
      ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
      ## Replace with your ssl_trusted_certificate. For more info see:
      ## - https://medium.com/devops-programming/4445f4862461
      ## - https://www.ruby-forum.com/topic/4419319
      ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
      # ssl_stapling on;
      # ssl_stapling_verify on;
      # ssl_trusted_certificate /etc/nginx/ssl/stapling.trusted.crt;
      # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
      # resolver_timeout 10s;
    
      ## [Optional] Generate a stronger DHE parameter:
      ##   cd /etc/ssl/certs
      ##   sudo openssl dhparam -out dhparam.pem 4096
      ##
      # ssl_dhparam /etc/ssl/certs/dhparam.pem;
    
      location / {
        proxy_pass http://docservice;
        proxy_http_version 1.1;
      }
    }

}

启动nginx即可~~,感觉比iis简单

目前nginx测试没问题,如果想要监听80端口也可以开启,如果关闭系统或者注销可能就不能用了,需要以服务方式安装nginx

https://www.cnblogs.com/wcrBlog/p/11881656.html
https://www.cnblogs.com/nonkicat/p/10672787.html
https://blog.csdn.net/m0_53401243/article/details/133869439
https://weiku.co/article/561/
https://stackoverflow.com/questions/14841986/iis-aar-url-rewrite-for-reverse-proxy-how-to-send-http-host/14842856#14842856
https://techcommunity.microsoft.com/t5/iis-support-blog/arr-change-the-hostname-on-re-routing-to-backend-node-the/ba-p/1340780

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1495985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HTML】HTML基础7.3(自定义列表)

目录 标签 效果 代码 注意 标签 <dl> <dt>自定义标题</dt><dd>内容1</dd><dd>内容2</dd><dd>内容3</dd> 。。。。。。 </dl> 效果 代码 <dl><dt>蜘蛛侠系列</dt><dd>蜘蛛侠1</dd…

如何远程连接服务?

"天联"是一种远程连接服务&#xff0c;可以实现异地统一管理、随时随地协同办公和远程数据采集管理等功能。 1. 零售、收银软件应用实现异地统一管理 在医药、餐饮、商超等零售行业中&#xff0c;经常需要对分布在不同地点的店铺进行管理。"天联"提供了远…

计算机组成原理-微程序控制器实验——沐雨先生

一、实验目的 1.掌握微程序控制器的组成原理和工作过程。 2.理解微指令和微程序的概念,理解微指令与指令的区别与联系。 3.掌握指令操作码与控制存储器中微程序的对应方法&#xff0c;熟悉根据指令操作码从控制存储器中读出微程序的过程。 二、实验要求 1.做好实验预习&am…

《教育知识与能力》中教师资格证笔试黄金卷(二)

1&#xff0e;古希腊古典时代教育中&#xff0c;以雄辩和与青年智者的问答法而著名的教育家是&#xff08;A &#xff09;。 A&#xff0e;苏格拉底 B&#xff0e;柏拉图C&#xff0e;亚里士多德D&#xff0e;昆体良 2&#xff0e;世界上不同民族的教育往往表现出不同的传统和特…

学习 考证 帆软 FCP-FineBI V6.0 心得

学习背景&#xff1a; 自2024年1月起&#xff0c;大部分时间就在家里度过了&#xff0c;想着还是需要充实一下自己&#xff0c;我是一个充满热情的个体。由于之前公司也和帆软结缘&#xff0c;无论是 Fine-Report 和 Fine-BI 都有接触3年之久&#xff0c;但是主要做为管理者并…

Spark(2)-基础tranform算子(一)

一、算子列表 编号名称1map算子2flatMap算子3filter算子4mapPartitions算子5mapPartitionsWithIndex算子6keys算子7values算子8mapValues算子9flatMaplValues算子10union算子11reducedByKey算子12combineByKey算子13groupByKey算子14foldByKey算子15aggregateByKey算子16Shuff…

内含资料下载丨黄东旭:2024 现代应用开发关键趋势——降低成本、简化架构

作为一名工程师和创业者&#xff0c;创办 PingCAP 是我进入创新世界的一次深潜。这段旅程既有令人振奋的发现&#xff0c;也充满令人生畏的不确定性。作为这次探险之旅见证的 TiDB &#xff0c;现在已在全球服务超过 3000 家企业&#xff0c;其中有已经实现了商业成功的大公司&…

Mantle生态创新Meme项目Puff开启创世Mint,一文了解玩法、空投+Mint教程

大饼马上破前高&#xff0c;Ethereum 的再质押赛道吸引了大量资金&#xff0c;PEPE、DOGE等代币的 Memecoin 也一路飞涨&#xff0c;整个加密市场都充斥着金钱的味道&#xff01;目前&#xff0c;贪婪与恐惧指数已经达到了90&#xff0c;属于极度贪婪区间。越是这样的狂欢时刻&…

数据处理分类、数据仓库产生原因

个人看书学习心得及日常复习思考记录&#xff0c;个人随笔。 数据处理分类 操作型数据处理&#xff08;基础&#xff09; 操作型数据处理主要完成数据的收集、整理、存储、查询和增删改操作等&#xff0c;主要由一般工作人员和基层管理人员完成。 联机事务处理系统&#xff…

解读Linux文件目录权限:srw-rw----

在Linux系统中&#xff0c;文件或目录的权限由10个字符表示&#xff0c;分为四段&#xff1a; 第一个字符&#xff1a;表示文件类型。d代表目录&#xff0c;-代表普通文件&#xff0c;l代表符号链接&#xff0c;s代表套接字&#xff08;socket&#xff09;&#xff0c;c代表字符…

TypeScript学习笔记(上):TypeScript的介绍、安装及常用类型

我对TypeScript的理解就是&#xff0c;TypeScript是增加了类型校验的JavaScript&#xff0c;能够把运行期错误提升至编译期 TypeScript是什么&#xff1f; TypeScript&#xff08;简称&#xff1a;TS&#xff09;是 JavaScript 的超集&#xff08;JS 有的 TS 都有&#xff09…

MySQL-视图:视图概述、使用视图注意点、视图是否影响基本表

视图 一、视图概述二、使用视图注意点三、视图操作是否影响基本表 一、视图概述 在数据库管理系统中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;它并不实际存储数据&#xff0c;而是基于一个或多个实际表的查询结果。视图提供了一种对数据库中数据…

机器人编程学习有哪些好处?

机器人编程学习有许多好处&#xff0c;无论是对个人还是对社会都具有重要意义。以下是机器人编程学习的一些好处&#xff1a; 1. **培养计算思维&#xff1a;** 通过机器人编程学习&#xff0c;可以培养逻辑思维、问题解决能力和创新思维。编程过程中需要分析问题、设计算法、…

3月6日龙虎榜复盘:沪指缩量调整 机器人概念股午后大涨

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡&#xff0c;创业板指午后涨超1%&#xff0c;随后上演冲高回落走势。风电、光伏等新能源方向…

软考高级:数据流图概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

恢复IDEA误删除的git提交,提交被删除,尝试恢复提交

​​​​​​ dgqDESKTOP-JRQ5NMD MINGW64 /f/IdeaProjects/workspace/spzx-parent ((8bb112e...)) $ git reflog 8bb112e (HEAD, origin/master, master) HEAD{0}: checkout: moving from master to 8bb112e5ac18dfe4bbd64adfd06363e46b609f21 8bb112e (HEAD, origin/master, …

大华IPC网络摄像机如何保存视频

一、背景 通常网络相机&#xff08;IPC&#xff09;不会自带存储功能&#xff0c;需要接入录像机&#xff08;NVR&#xff09;进行保存。 其中NVR也分软件存储及硬件存储&#xff0c;这里不提&#xff0c;这边单独说FTP存储 二、配置前提 要配置FTP存储需要&#xff1a;①网络…

虚拟机环境搭建

搭建vm环境&#xff0c;配置虚拟机&#xff0c;期间遇到不支持&#xff0c;重启电脑后还是没用 此主机支持 AMD-V&#xff0c;但 AMD-V 处于禁用状态。 如果已在 BIOS/固件设置中禁用 AMD-V&#xff0c;或主机自更改此设置后从未重新启动&#xff0c;则 AMD-V 可能被禁用。 确…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…

微信公众号实现【抽奖功能】

前言 最近为了提高公众号的用户粘性&#xff0c;需要增加一个功能&#xff0c;那就是用户可以点击公众【每日礼包】的按钮&#xff0c;实现抽奖&#xff0c;有可能获得免费的会员天数&#xff01; 例如点进公众号发送消息栏目&#xff0c;有一个下面的按钮&#xff1a; 在菜单…