我似乎无法运行我的Realm Object Server的https代理。我已经跟踪了文档中的每一步,包括编辑configuration.yml文件进行更改:
proxy.https.enable: true
proxy.https.listen_address: ::
proxy.https.listen_port: 9443
proxy.https.certificate_path: 'cert_path'
proxy.https.private_key_path: 'private_key_path'
当我访问http://example.com:9080时,它很好,但访问https://example.com:9443不起作用 - 我已验证路径是否正确,以及证书/私钥组合是有效的。
我非常感谢任何配置此功能的帮助,因为我试图让应用符合Apple的ATS要求!
答案 0 :(得分:7)
Realm对象服务器由“领域”用户启动,您应该检查用户是否有权访问证书。
以下是使用letsencrypt设置https的说明列表!在Ubuntu 16.04上,也许它有助于识别您的问题:
curl -s https://packagecloud.io/install/repositories/realm/realm/script.deb.sh | sudo bash
apt-get install realm-object-server-developer
apt-get install letsencrypt
letsencrypt certonly --standalone -d ${mydomain.com}
# set up permissions for the realm user on /etc/letsencrypt.
sudo groupadd ssl
sudo usermod -a -G ssl realm
sudo chgrp -R ssl /etc/letsencrypt
sudo chmod -R g=rX /etc/letsencrypt
/etc/realm/configuration.yml
中的部分:
https:
## Whether or not to enable the HTTPS proxy module. It enables multiplexing requests
## by forwarding incoming requests on a single port to all services.
## Note that even if it enabled, the HTTPS proxy will only start if supplied
## with a valid pair of certificates through certificate_path and private_key_path below.
enable: true
## The path to the certificate and private keys (in PEM format) that will be used
## to set up the HTTPS server accepting connections.
## These configuration options are MANDATORY to start the HTTPS proxy module.
certificate_path: '/etc/letsencrypt/live/${mydomain.com}/cert.pem'
private_key_path: '/etc/letsencrypt/live/${mydomain.com}/privkey.pem'
## The address/interface on which the HTTPS proxy module should listen. This defaults
## to 127.0.0.1. If you wish to listen on all available interfaces,
## uncomment the following line.
listen_address: '::'
## The port that the HTTPS proxy module should bind to.
# listen_port: 9443
连接到信息中心并创建一个帐户。 (转到https://${mydomain.com}:9443
)
转到浏览器并选择“连接到对象服务器”
输入realms://${mydomain.com}:9443
作为服务器URL,以及您刚刚创建的用户名和密码。
你应该看到一系列领域。