带有 Keter 和 Cloudflare 的免费 SSL 的 Yesod 网络应用程序
Yesod web app with Keter and Cloudflare's free SSL
我有 VPS 运行 Debian 9 和 Keter 服务于单个 Web 应用程序。
我使用 Crypto
选项卡的 Origin Certificates
部分中的 Create certificate
按钮生成了证书。
然后我编辑了我的 keter.yaml
:
stanzas:
- type: webapp
exec: ../dist/bin/dummy-name
args: []
hosts:
- dummy-domain.info
ssl:
key: /opt/keter/etc/cert/dummy-domain.info.key
certificate: /opt/keter/etc/cert/dummy-domain.info.pem
还有备注:
# Enable to force Keter to redirect to https
# Can be added to any stanza
# requires-secure: true
当我上传新的捆绑包时,它似乎无法正常工作。我的网站可以通过 HTTP(按预期工作)和 HTTPS 访问,但它无法从静态加载生成的 CSS 和 JS 文件(文档中注入的链接具有 http
方案)。
我还应该做些什么才能使用安全的 HTTPS 连接使一切正常工作?
keter 的选项不明确:
# for all stanzas
requires-secure: true
# stanza based
host: ....
secure: true
我也不知道我应该在 CloudFlare 上使用哪些选项
SSL type now set to Flexible
Always Use HTTPS is OFF
好的,最后我完成了以下操作:
应用程序的keter.yml
stanzas:
- type: webapp
exec: ../dist/bin/dummy-name
args: []
hosts:
- dummy-domain.info
requires-secure: true
ssl:
key: /opt/keter/etc/cert/dummy-domain.info.key
certificate: /opt/keter/etc/cert/dummy-domain.info.pem
服务器上的 Keter 配置 keter-config.yaml
root: ..
#
# # Keter can listen on multiple ports for incoming connections. These ports can
# # have HTTPS either enabled or disabled.
listeners:
# HTTP
- host: "*4" # Listen on all IPv4 hosts
port: 80 # Could be used to modify port
# HTTPS
- host: "*4"
port: 443
key: cert/dummy-domain.info.key
certificate: cert/dummy-domain.info.pem
CloudFlare 配置:
SSL 类型现在设置为 Full
始终使用 HTTPS 是 ON
我也重启了keter服务
sudo service keter restart
现在一切正常。
我有 VPS 运行 Debian 9 和 Keter 服务于单个 Web 应用程序。
我使用 Crypto
选项卡的 Origin Certificates
部分中的 Create certificate
按钮生成了证书。
然后我编辑了我的 keter.yaml
:
stanzas:
- type: webapp
exec: ../dist/bin/dummy-name
args: []
hosts:
- dummy-domain.info
ssl:
key: /opt/keter/etc/cert/dummy-domain.info.key
certificate: /opt/keter/etc/cert/dummy-domain.info.pem
还有备注:
# Enable to force Keter to redirect to https
# Can be added to any stanza
# requires-secure: true
当我上传新的捆绑包时,它似乎无法正常工作。我的网站可以通过 HTTP(按预期工作)和 HTTPS 访问,但它无法从静态加载生成的 CSS 和 JS 文件(文档中注入的链接具有 http
方案)。
我还应该做些什么才能使用安全的 HTTPS 连接使一切正常工作?
keter 的选项不明确:
# for all stanzas
requires-secure: true
# stanza based
host: ....
secure: true
我也不知道我应该在 CloudFlare 上使用哪些选项
SSL type now set to Flexible
Always Use HTTPS is OFF
好的,最后我完成了以下操作:
应用程序的keter.yml
stanzas:
- type: webapp
exec: ../dist/bin/dummy-name
args: []
hosts:
- dummy-domain.info
requires-secure: true
ssl:
key: /opt/keter/etc/cert/dummy-domain.info.key
certificate: /opt/keter/etc/cert/dummy-domain.info.pem
服务器上的 Keter 配置 keter-config.yaml
root: ..
#
# # Keter can listen on multiple ports for incoming connections. These ports can
# # have HTTPS either enabled or disabled.
listeners:
# HTTP
- host: "*4" # Listen on all IPv4 hosts
port: 80 # Could be used to modify port
# HTTPS
- host: "*4"
port: 443
key: cert/dummy-domain.info.key
certificate: cert/dummy-domain.info.pem
CloudFlare 配置:
SSL 类型现在设置为 Full
始终使用 HTTPS 是 ON
我也重启了keter服务
sudo service keter restart
现在一切正常。