我有一个使用 JKS 签名的 Play 2.1.x 应用程序,它可以在 domain.com:9443
上运行并可用。由于将在同一台机器上有更多的应用程序,因此需要使用nginx进行代理(因此无法仅在端口443
上运行)。我添加了 nginx 配置,希望proxy_pass
与https
结合起来,只需将其代理到客户端即可。
upstream backend-secure {
server 0.0.0.0:9443;
}
server {
listen 443 ssl;
server_name domain.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass https://backend-secure;
}
}
很遗憾尝试在浏览器中打开https://domain.com
时,我只能在nginx/error.log
中看到登录信息:
no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 123.123.123.123, server: 0.0.0.0:443
有没有办法让它正常工作,或者唯一的选项是使用nginx SSL +使用http
后端的通用方式?
编辑:如果这重要,它是EV、多域证书。