Top Menu

如何不重启服务更新traefik的tls证书

目前免费证书一般每隔90天都需要重新签发,但是直接替换证书后traefik没办法自动加载新证书,重启traefik又会中断不使用tls的服务。

前提

  • 使用dynamic配置,即在docker-compose中设置command
    – “–providers.file.directory=/etc/traefik/dynamic”
    – “–providers.file.watch=true”

方法

  • 打开dynamic_conf.yml动态配置文件
  • 将tls部分整个注释掉

# tls: # stores: # default: # defaultCertificate: # certFile: /etc/traefik/dynamic/cert/certificate.crt # keyFile: /etc/traefik/dynamic/cert/private.key # certificates: # - certFile: /etc/traefik/dynamic/cert/certificate.crt # keyFile: /etc/traefik/dynamic/cert/private.key # options: # foo: # minVersion: VersionTLS12 # cipherSuites: # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 # - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 # - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 # - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 # - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

Continue Reading 0

如何给部署在国内服务器上的chrome安装开荒插件

部署在国内服务器上的chrome通常无法连接chrome store服务器,这就意味着也无法安装Proxy SwitchyOmega用于建立proxy通道从而访问google,通过启动命令写入proxy虽然可行但是也不够灵活,这时就可以直接使用policies在chrome初始化的时候就访问chrome store下载其余插件的方法

使用方法

1.修改chrome自带的policies.json

直接在host安装的chrome:修改policies.json

  • /etc/opt/chrome/policies/managed/policies.json

使用docker安装的chrome:虚拟挂载

  • -v /root/neko/policies.json:/etc/opt/chrome/policies/managed/policies.json
  • /root/neko/policies.json为host的policies.json路径

新建空白policies.json添加如下内容或在原有policies.json中追加如下内容

{ "ExtensionInstallSources": [ "*://minir.plus/*", ], "ExtensionSettings": { "padekgcemlokbadohgkifijomclgjgif": { // Proxy SwitchyOmega "installation_mode": "force_installed", "update_url": "https://minir.plus/crx", "override_update_url": true, "toolbar_pin": "force_pinned" }, } }

Continue Reading 0

使用dynamo批量查询族文件的revit版本

目标

  • 将低版本revit族库批量升级到2023版本

环境

  • Dynamo 2.16.1
  • Revit 2023

下载dyn

Revit version reporter.dyn

https://pan.baidu.com/s/1dQTQrXOcFT_WRdV6Pt44Gw?pwd=git3

前提

  • 本地已安装Revit 2023

逻辑

  • 输入:文件夹路径
  • 执行:遍历所有目录,找到所有族文件,通过info.Format接口获取文件的revit版本

Python Scropt

import clr clr.AddReference("RevitAPI") import Autodesk from Autodesk.Revit.DB import * clr.AddReference("RevitNodes") import Revit clr.ImportExtensions(Revit.Elements) clr.ImportExtensions(Revit.GeometryConversion) #The inputs to this node will be stored as a list in the IN variables. path = IN[0] listout = [] for p in path: try: info = BasicFileInfo.Extract(p) version = info.Format listout.append(p + ' 【' + version + '】' ) except: listout.append("failed") OUT = listout

Continue Reading 0

Powered by WordPress. Designed by WooThemes