【发布时间】:2017-08-21 05:19:55
【问题描述】:
Docker 新手。因此,我设法将官方 Neo4j EE Docker 映像部署到 Google Container Engine,当从 localhost 运行我的 Angular 应用程序时,一切都很好(因为它不是来自安全连接)。
但是,当我将应用部署到 Firebase 时,应用会从安全连接对 DB/Docker 容器进行所有调用,这会导致以下错误:
Mixed Content: The page at 'https://luminate-testing-24112016.firebaseapp.com/dashboard'
was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint
'ws://35.196.251.244:7687/'. This request has been blocked; this endpoint must be available
over WSS.
请注意,无论将 Docker 映像部署到 GKE 还是 AWS,都会发生这种情况。
这是我的 yaml 文件:
apiVersion: v1
kind: Service
metadata:
name: neo4j
spec:
type: LoadBalancer
loadBalancerSourceRanges:
- 0.0.0.0/0
ports:
- name: browser
port: 7474
protocol: TCP
- name: bolt
port: 7687
protocol: TCP
- name: https
port: 7473
protocol: TCP
selector:
app: neo4j
apiVersion: "apps/v1beta1"
kind: StatefulSet
metadata:
name: neo4j
spec:
serviceName: neo4j
replicas: 1
template:
metadata:
labels:
app: neo4j
spec:
containers:
- name: neo4j
image: luminateqr/neo4j-with-apoc:latest
imagePullPolicy: Always
ports:
- name: browser
containerPort: 7474
- name: bolt
containerPort: 7687
- name: https
containerPort: 7473
volumeMounts:
- name: neo4j-data
mountPath: /data
volumeClaimTemplates:
- metadata:
name: neo4j-data
annotations:
volume.beta.kubernetes.io/storage-class: slow
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 50Gi
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: slow
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
zone: us-east1-c
有一些问题和答案似乎很相似,但我不知道哪些适用,哪些不适用。我知道通过 TLS 设置 websocket 与它有关,但对于如何执行此操作没有一致和/或明确的答案(这似乎很奇怪,因为这可能是一种常见情况)
【问题讨论】:
-
我假设您正在尝试通过您的代码直接访问数据库?
-
是的。虽然我只是想知道在 GKE 实例上放置 ssl 证书是否可以解决问题
标签: angular docker neo4j google-kubernetes-engine