我有一个Docker容器,在RHEL 7服务器上的8000端口上运行Jupyter笔记本,当我通过http://server-name:8000访问它时,这似乎很好。
但是,当我尝试在apache网络服务器上配置ssl证书时,https上没有提供内容
我的配置文件如下所示。
Listen 443 https
<VirtualHost *:443>
ServerName server.com
SSLEngine on
SSLCertificateFile /path/to/cerfile.cer
SSLCertificateKeyFile /path/to/Keyfile.key
ProxyPass / https://server.com:8000/tree
ProxyPassReverse / https://server.com/8000/tree
</VirtualHost>
我无法单独访问https://server.com:8000/tree, 但是我可以访问http://server.com:8000/tree
不是我的证书不起作用,当我在上述配置中删除ProxyPass时,我可以访问https://server.com。
<VirtualHost *:443>
ServerName server.com
SSLEngine on
SSLCertificateFile /path/to/cerfile.cer
SSLCertificateKeyFile /path/to/Keyfile.key
</VirtualHost>
我不确定为什么我的内容没有在https下加载,有人可以向我解释一下吗?
尝试到达https://server-name:8000/tree
时收到错误无法访问此网站的服务器名称花费了太长时间 响应。试试:
检查连接检查代理和防火墙 ERR_TIMED_OUT
答案 0 :(得分:0)
根据您的配置文件,您的反向代理正在侦听端口443而不是8080,这就是为什么那里存在proxypass时无法通过8080访问应用程序的原因。如果您想通过https访问8080端口的应用,请尝试以下conf:
<VirtualHost *:8000>
ServerName server.com
SSLEngine on
SSLCertificateFile /path/to/cerfile.cer
SSLCertificateKeyFile /path/to/Keyfile.key
ProxyPass / https://server.com:8000/tree
ProxyPassReverse / https://server.com/8000/tree
</VirtualHost>
答案 1 :(得分:0)
这可以解决问题,似乎Jupyter具有标准的代理配置。 Reference:
ProxyPreserveHost On
ProxyPass /api/kernels/ ws://server:8000/api/kernels/
ProxyPassReverse /api/kernels https://server:8000/api/kernels/
ProxyPass / https://server:8000/
ProxyPassReverse / https://server:8000/