对EjabberdAPI的SSL访问

对EjabberdAPI的SSL访问,ssl,ejabberd,windows-server-2012,Ssl,Ejabberd,Windows Server 2012,我在Windows server 2012上安装了一个ejabberd服务器,可以正常工作 我已经在我的ejabberd.yml中使用以下配置打开了端口5280上的API: - port: 5280 ip: "0.0.0.0" module: ejabberd_http starttls: true tls: true certfile: 'CERTFILE' protocol_options: 'TLSOPTS' request_handlers: "/ws": ejabberd_ht

我在Windows server 2012上安装了一个ejabberd服务器,可以正常工作 我已经在我的ejabberd.yml中使用以下配置打开了端口5280上的API:

- 
port: 5280
ip: "0.0.0.0"
module: ejabberd_http
starttls: true
tls: true 
certfile: 'CERTFILE'
protocol_options: 'TLSOPTS'
request_handlers:
  "/ws": ejabberd_http_ws
  "/bosh": mod_bosh
  "/api": mod_http_api
##  "/pub/archive": mod_http_fileserver
web_admin: true
http_bind: true
## register: true
captcha: false
我有一个通配符SSL证书,我还将其转换为.pem文件,当前存储在C:\ProgramData\ejabberd\conf\domaincert.pem中,并在CERTFILE的文件顶部引用,如下所示:

## Define common macros used by listeners
define_macro:
  'CERTFILE': "/conf/domaincert.pem"
##   'CIPHERS': "ECDH:DH:!3DES:!aNULL:!eNULL:!MEDIUM@STRENGTH"
  'TLSOPTS':
##     - "no_sslv2"
    - "no_sslv3"
##     - "no_tlsv1"
##     - "no_tlsv1_1"
##     - "cipher_server_preference"
##     - "no_compression"
##   'DHFILE': "/path/to/dhparams.pem" # generated with: openssl dhparam -out dhparams.pem 2048
 'CERTFILE': "/Root_Web/domaincert.pem"
通过非https()访问显示:

我正在努力通过HTTPS()提供HTTP-BIND,错误如下:

This site can’t be reached

chat.domain.com unexpectedly closed the connection.
我无法确定这是否是我的windows设置、防火墙的问题,或者是否需要对ejabberd配置进行一些更改。

已解决

需要使用

netsh http add sslcert ipport=0.0.0.0:5280 
当时,埃贾伯德因为一场灾难而崩溃

starttls: true
这是一个无效的参数。 然后,我将证书移动到C:下它自己的目录中,引用如下:

## Define common macros used by listeners
define_macro:
  'CERTFILE': "/conf/domaincert.pem"
##   'CIPHERS': "ECDH:DH:!3DES:!aNULL:!eNULL:!MEDIUM@STRENGTH"
  'TLSOPTS':
##     - "no_sslv2"
    - "no_sslv3"
##     - "no_tlsv1"
##     - "no_tlsv1_1"
##     - "cipher_server_preference"
##     - "no_compression"
##   'DHFILE': "/path/to/dhparams.pem" # generated with: openssl dhparam -out dhparams.pem 2048
 'CERTFILE': "/Root_Web/domaincert.pem"
解决了

需要使用

netsh http add sslcert ipport=0.0.0.0:5280 
当时,埃贾伯德因为一场灾难而崩溃

starttls: true
这是一个无效的参数。 然后,我将证书移动到C:下它自己的目录中,引用如下:

## Define common macros used by listeners
define_macro:
  'CERTFILE': "/conf/domaincert.pem"
##   'CIPHERS': "ECDH:DH:!3DES:!aNULL:!eNULL:!MEDIUM@STRENGTH"
  'TLSOPTS':
##     - "no_sslv2"
    - "no_sslv3"
##     - "no_tlsv1"
##     - "no_tlsv1_1"
##     - "cipher_server_preference"
##     - "no_compression"
##   'DHFILE': "/path/to/dhparams.pem" # generated with: openssl dhparam -out dhparams.pem 2048
 'CERTFILE': "/Root_Web/domaincert.pem"

错误消息是什么?编辑以包含错误输出错误消息是什么?编辑以包含错误输出您能对该配置进行注释吗?另外,如果你只发布了它的重要部分,那就太好了。这是主配置文件,默认情况下大多数内容都会被注释。所以你可以比较这两个文件@AlexButenko你能评论一下这个配置吗?另外,如果你只发布了它的重要部分,那就太好了。这是主配置文件,默认情况下大多数内容都会被注释。所以你可以比较两个文件@AlexButenko