집에 있는 로컬 컴퓨터에서 회사 네트워크 내부의 SearchGuard로 보호되는 ElasticSearch 인스턴스에 연결하는 데 문제가 있습니다. phpMyAdmin 인스턴스에서 작업할 때와 동일한 로컬 SSH 전달을 사용하고 있습니다.
내 ~/.ssh/config에는 다음이 포함됩니다.
Host workstation-forward-phpmyadmin
LocalForward localhost:8080 $WORKSTATION:443
HostKeyAlias $GATEWAY
Hostname $GATEWAY
ExitOnForwardFailure yes
User oschluet
Host workstation-forward-elasticsearch
LocalForward localhost:9200 $WORKSTATION:9200
HostKeyAlias $GATEWAY
Hostname $GATEWAY
ExitOnForwardFailure yes
User oschluet
나는 이것을 screen
다음과 같은 -세션 에 참여시키 ssh workstation-forward-elasticsearch
거나 ssh workstation-forward-phpmyadmin
화면을 분리합니다.
https://localhost:8080
이제 telnet에 액세스하거나 웹 서버와 직접 통신하여 브라우저를 통해 phpMyAdmin에 액세스할 수 있습니다 . 불행히도 이와 관련하여 ElasticSearch에 문제가 있는 것 같습니다. 회사 네트워크 내부의 다른 컴퓨터에서 다음과 같이 ElasticSearch에 액세스할 수 있습니다.
oschluet@ravenwood:~$ curl -k https://$WORKSTATION:9200 --user $user:$pass
{
"name" : "redacted",
"cluster_name" : "redacted",
"cluster_uuid" : "redacted",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
동일한 자격 증명을 로컬에서 사용하면 아무 것도 생성되지 않습니다.
[oschlueter@B5400 ~]$ curl -k https://localhost:9200 --user $user:$pass
# nothing happens
자격 증명을 사용하지 않음:
oschluet@ravenwood:~$ curl -k https://$WORKSTATION:9200
Unauthorized
[oschlueter@B5400 ~]$ curl -k https://localhost:9200
# again nothing
그러나 텔넷은 연결을 엽니다.
[oschlueter@B5400 ~]$ telnet localhost 9200
Trying ::1...
Connected to localhost.
Escape character is '^]'.
나는 ElasticSearch가 IP 주소, 호스트 이름을 수신하도록 시도했고 0.0.0.0
이를 통해 네트워크 내부의 다른 컴퓨터에서 연결할 수 있었지만 로컬 컴퓨터에서는 연결할 수 없었습니다. 저는 $WORKSTATION과 로컬 컴퓨터의 관리자입니다. 누구든지 문제를 찾는 데 도움을 줄 수 있습니까?