You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@predictionio.apache.org by amal kumar <am...@gmail.com> on 2016/10/04 11:39:51 UTC

Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Hi Team,

Hello,

I have installed the PredictionIO on EC2, using the below reference
http://predictionio.incubator.apache.org/install/install-linux/

Event server is started with command  to serve the glolab traffic
pio eventserver 0.0.0.0 &


Also, I have deployed PredictionIO template i.e.
http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
using the command to serve the global traffic i.e.
pio deploy --ip 0.0.0.0 &


Now, I am able to connect to  Event Server (port : 7070) from SSH
curl -i -X GET http://localhost:7070

HTTP/1.1 200 OK
Server: spray-can/1.3.3
Date: Tue, 04 Oct 2016 11:31:44 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 18

{"status":"alive"}


Also, I am able to connect to  Engine (port : 8000) from SSH:
curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2 }'
https://localhost:8000/queries.json
{"itemScores":[{"item":"8","score":8.775522559547664},{"item":"55","score":7.826485976992348}


But, I am not able to access Event Server (port : 7070) or Engine (port :
8000) from Outside web brower.

Error:
Connection Refused


Can you please help.



Thanks,
Amal Kumar

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by Sunny <su...@gmail.com>.
Amal, your configuration looks fine.
I am afraid I cannot be of help without having physical access to the setup!

You may follow other suggestions, and if it still doesn't work, you either
contact AWS support or a friend / expert who is well versed with these
issues.

-- Tapo

On Thu, 6 Oct 2016 at 17:44 Gustavo Frederico <
gustavo.frederico@thinkwrap.com> wrote:

> Are you trying to hit the server using curl from outside the server? If
> so, what happens? If the çurl requests don't work, it's a port mapping or
> firewall issue.
>
> If curl works but the browser doesn't, you have to be careful with the
> same-origin policy. The same-origin policy says that the requests have to
> go to the same protocol, server domain and port of the page. You can get
> around that using CORS, which is basically a set of extra headers added by
> the server. You also need to be careful with the content type and CORS.
> https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
>
> Gustavo
>
>
> On Thu, Oct 6, 2016 at 3:14 AM, amal kumar <am...@gmail.com>
> wrote:
>
> Hi Tapo,
>
> I have added the above configuration to the iptables, but still no luck.
>
> sudo iptables -L -n:
> [image: Inline image 1]
>
> Also,
> $ sudo iptables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
> -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
> -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>
>
> $ sudo ip6tables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
>
> $ netstat -nlp
> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>       PID/Program name
> tcp        0      0 0.0.0.0:22              0.0.0.0:*
> LISTEN      -
> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
> LISTEN      -
> tcp6       0      0 :::36301                :::*                    LISTEN
>      31215/java
> tcp6       0      0 172.31.12.251:52787     :::*
>  LISTEN      31215/java
> tcp6       0      0 :::22                   :::*                    LISTEN
>      -
> tcp6       0      0 :::7070                 :::*                    LISTEN
>      30707/java
> tcp6       0      0 :::8000                 :::*                    LISTEN
>      31215/java
> tcp6       0      0 :::41057                :::*                    LISTEN
>      31215/java
> tcp6       0      0 :::4040                 :::*                    LISTEN
>      31215/java
> udp        0      0 0.0.0.0:68              0.0.0.0:*
>       -
> udp        0      0 0.0.0.0:34499           0.0.0.0:*
>       -
> udp6       0      0 :::42478                :::*
>      -
> Active UNIX domain sockets (only servers)
> Proto RefCnt Flags       Type       State         I-Node   PID/Program
> name    Path
> unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
>     /run/udev/control
> unix  2      [ ACC ]     STREAM     LISTENING     8718     -
>     /var/run/dbus/system_bus_socket
> unix  2      [ ACC ]     STREAM     LISTENING     8978     -
>     /var/run/acpid.socket
> unix  2      [ ACC ]     STREAM     LISTENING     457      -
>     @/com/ubuntu/upstart
> unix  2      [ ACC ]     STREAM     LISTENING     8044     -
>     /var/run/postgresql/.s.PGSQL.5432
>
>
>
> Thanks,
> Amal Kumar
>
> On Wed, Oct 5, 2016 at 3:28 PM, Sunny <su...@gmail.com> wrote:
>
> Hello Amal,
>
> Try running following commands on your SSH terminal (on AWS linux),
> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>
> This should allow TCP input traffic to both the ports.
> In case it doesn't work, send output of the following command,
> sudo iptables -L -n
>
> -- Tapo
>
> On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com> wrote:
>
> Hi,
>
> As my understanding, i have updated the ec2 security group as below. Still
> not able to connect from web browser outside SSH
>
> Inbound:
> [image: Inline image 1]
>
> Outbound:
> [image: Inline image 2]
>
>
> iptables Status:
>
> $ sudo iptables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
> ip6tables Status:
>
> $ sudo ip6tables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
>
>
> $ netstat -nlp
> (Not all processes could be identified, non-owned process info
>  will not be shown, you would have to be root to see it all.)
> Active Internet connections (only servers)
> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>       PID/Program name
> tcp        0      0 0.0.0.0:22              0.0.0.0:*
> LISTEN      -
> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
> LISTEN      -
> tcp6       0      0 :::22                   :::*                    LISTEN
>      -
> tcp6       0      0 :::56568                :::*                    LISTEN
>      1848/java
> tcp6       0      0 :::7070                 :::*                    LISTEN
>      1333/java
> tcp6       0      0 :::8000                 :::*                    LISTEN
>      1848/java
> tcp6       0      0 :::40356                :::*                    LISTEN
>      1848/java
> tcp6       0      0 172.31.12.251:48166     :::*
>  LISTEN      1848/java
> tcp6       0      0 :::4040                 :::*                    LISTEN
>      1848/java
> udp        0      0 0.0.0.0:68              0.0.0.0:*
>       -
> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>       -
> udp6       0      0 :::22478                :::*
>      -
> Active UNIX domain sockets (only servers)
> Proto RefCnt Flags       Type       State         I-Node   PID/Program
> name    Path
> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>     /var/run/postgresql/.s.PGSQL.5432
> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>     @/com/ubuntu/upstart
> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>     /run/udev/control
> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>     /var/run/acpid.socket
> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>     /var/run/dbus/system_bus_socket
>
>
>
> Can you please suggest, which network setting is missing here?
>
> Thanks,
> Amal Kumar
>
>
>
>
> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>
> Hello Amal,
>
> It seems that you need to tweak EC2 network settings to allow incoming
> traffic to both the ports (7070 & 8000) to be able to access it from
> outside the linux instance.
>
> -- Tapo
>
> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:
>
> Hi Team,
>
> Hello,
>
> I have installed the PredictionIO on EC2, using the below reference
> http://predictionio.incubator.apache.org/install/install-linux/
>
> Event server is started with command  to serve the glolab traffic
> pio eventserver 0.0.0.0 &
>
>
> Also, I have deployed PredictionIO template i.e.
> http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
> using the command to serve the global traffic i.e.
> pio deploy --ip 0.0.0.0 &
>
>
> Now, I am able to connect to  Event Server (port : 7070) from SSH
> curl -i -X GET http://localhost:7070
>
> HTTP/1.1 200 OK
> Server: spray-can/1.3.3
> Date: Tue, 04 Oct 2016 11:31:44 GMT
> Content-Type: application/json; charset=UTF-8
> Content-Length: 18
>
> {"status":"alive"}
>
>
> Also, I am able to connect to  Engine (port : 8000) from SSH:
> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2 }'
> https://localhost:8000/queries.json
>
> {"itemScores":[{"item":"8","score":8.775522559547664},{"item":"55","score":7.826485976992348}
>
>
> But, I am not able to access Event Server (port : 7070) or Engine (port :
> 8000) from Outside web brower.
>
> Error:
> Connection Refused
>
>
> Can you please help.
>
>
>
> Thanks,
> Amal Kumar
>
>
>
>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by amal kumar <am...@gmail.com>.
It has worked.

Thanks alot :)

On Thu, Oct 6, 2016 at 11:49 PM, Donald Szeto <do...@apache.org> wrote:

> Hi Amal,
>
> Could you try disabling IPv6 of your Java processes and see if it helps?
>
> export JAVA_OPTS=-Djava.net.preferIPv4Stack=true
> pio eventserver --ip 0.0.0.0
>
> Regards,
> Donald
>
>
> On Thursday, October 6, 2016, amal kumar <am...@gmail.com> wrote:
>
>> Hi Gustavo,
>>
>> I have tried both curl and web browser from outside the server but no
>> luck.
>>
>> Curl error:
>> curl: (7) Failed to connect to <MYDNS/PUBLIC_IP> port 8000: Connection
>> refused
>>
>>
>> Thanks,
>> Amal
>>
>> On Thu, Oct 6, 2016 at 5:44 PM, Gustavo Frederico <
>> gustavo.frederico@thinkwrap.com> wrote:
>>
>>> Are you trying to hit the server using curl from outside the server? If
>>> so, what happens? If the çurl requests don't work, it's a port mapping or
>>> firewall issue.
>>>
>>> If curl works but the browser doesn't, you have to be careful with the
>>> same-origin policy. The same-origin policy says that the requests have to
>>> go to the same protocol, server domain and port of the page. You can get
>>> around that using CORS, which is basically a set of extra headers added by
>>> the server. You also need to be careful with the content type and CORS.
>>> https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
>>>
>>> Gustavo
>>>
>>>
>>> On Thu, Oct 6, 2016 at 3:14 AM, amal kumar <am...@gmail.com>
>>> wrote:
>>>
>>>> Hi Tapo,
>>>>
>>>> I have added the above configuration to the iptables, but still no luck.
>>>>
>>>> sudo iptables -L -n:
>>>> [image: Inline image 1]
>>>>
>>>> Also,
>>>> $ sudo iptables -S
>>>> -P INPUT ACCEPT
>>>> -P FORWARD ACCEPT
>>>> -P OUTPUT ACCEPT
>>>> -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>>>> -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>>>
>>>>
>>>> $ sudo ip6tables -S
>>>> -P INPUT ACCEPT
>>>> -P FORWARD ACCEPT
>>>> -P OUTPUT ACCEPT
>>>>
>>>>
>>>> $ netstat -nlp
>>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>>> State       PID/Program name
>>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>>> LISTEN      -
>>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>>> LISTEN      -
>>>> tcp6       0      0 :::36301                :::*
>>>>  LISTEN      31215/java
>>>> tcp6       0      0 172.31.12.251:52787     :::*
>>>>  LISTEN      31215/java
>>>> tcp6       0      0 :::22                   :::*
>>>>  LISTEN      -
>>>> tcp6       0      0 :::7070                 :::*
>>>>  LISTEN      30707/java
>>>> tcp6       0      0 :::8000                 :::*
>>>>  LISTEN      31215/java
>>>> tcp6       0      0 :::41057                :::*
>>>>  LISTEN      31215/java
>>>> tcp6       0      0 :::4040                 :::*
>>>>  LISTEN      31215/java
>>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>>           -
>>>> udp        0      0 0.0.0.0:34499           0.0.0.0:*
>>>>           -
>>>> udp6       0      0 :::42478                :::*
>>>>          -
>>>> Active UNIX domain sockets (only servers)
>>>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>>>> name    Path
>>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
>>>>         /run/udev/control
>>>> unix  2      [ ACC ]     STREAM     LISTENING     8718     -
>>>>         /var/run/dbus/system_bus_socket
>>>> unix  2      [ ACC ]     STREAM     LISTENING     8978     -
>>>>         /var/run/acpid.socket
>>>> unix  2      [ ACC ]     STREAM     LISTENING     457      -
>>>>         @/com/ubuntu/upstart
>>>> unix  2      [ ACC ]     STREAM     LISTENING     8044     -
>>>>         /var/run/postgresql/.s.PGSQL.5432
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> Amal Kumar
>>>>
>>>> On Wed, Oct 5, 2016 at 3:28 PM, Sunny <su...@gmail.com> wrote:
>>>>
>>>>> Hello Amal,
>>>>>
>>>>> Try running following commands on your SSH terminal (on AWS linux),
>>>>> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>>>>> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>>>>
>>>>> This should allow TCP input traffic to both the ports.
>>>>> In case it doesn't work, send output of the following command,
>>>>> sudo iptables -L -n
>>>>>
>>>>> -- Tapo
>>>>>
>>>>> On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> As my understanding, i have updated the ec2 security group as below.
>>>>>> Still not able to connect from web browser outside SSH
>>>>>>
>>>>>> Inbound:
>>>>>> [image: Inline image 1]
>>>>>>
>>>>>> Outbound:
>>>>>> [image: Inline image 2]
>>>>>>
>>>>>>
>>>>>> iptables Status:
>>>>>>
>>>>>> $ sudo iptables -S
>>>>>> -P INPUT ACCEPT
>>>>>> -P FORWARD ACCEPT
>>>>>> -P OUTPUT ACCEPT
>>>>>>
>>>>>> ip6tables Status:
>>>>>>
>>>>>> $ sudo ip6tables -S
>>>>>> -P INPUT ACCEPT
>>>>>> -P FORWARD ACCEPT
>>>>>> -P OUTPUT ACCEPT
>>>>>>
>>>>>>
>>>>>>
>>>>>> $ netstat -nlp
>>>>>> (Not all processes could be identified, non-owned process info
>>>>>>  will not be shown, you would have to be root to see it all.)
>>>>>> Active Internet connections (only servers)
>>>>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>>>>> State       PID/Program name
>>>>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>>>>> LISTEN      -
>>>>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>>>>> LISTEN      -
>>>>>> tcp6       0      0 :::22                   :::*
>>>>>>  LISTEN      -
>>>>>> tcp6       0      0 :::56568                :::*
>>>>>>  LISTEN      1848/java
>>>>>> tcp6       0      0 :::7070                 :::*
>>>>>>  LISTEN      1333/java
>>>>>> tcp6       0      0 :::8000                 :::*
>>>>>>  LISTEN      1848/java
>>>>>> tcp6       0      0 :::40356                :::*
>>>>>>  LISTEN      1848/java
>>>>>> tcp6       0      0 172.31.12.251:48166     :::*
>>>>>>  LISTEN      1848/java
>>>>>> tcp6       0      0 :::4040                 :::*
>>>>>>  LISTEN      1848/java
>>>>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>>>>             -
>>>>>> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>>>>>>             -
>>>>>> udp6       0      0 :::22478                :::*
>>>>>>            -
>>>>>> Active UNIX domain sockets (only servers)
>>>>>> Proto RefCnt Flags       Type       State         I-Node
>>>>>> PID/Program name    Path
>>>>>> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>>>>>>           /var/run/postgresql/.s.PGSQL.5432
>>>>>> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>>>>>>           @/com/ubuntu/upstart
>>>>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>>>>>>           /run/udev/control
>>>>>> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>>>>>>           /var/run/acpid.socket
>>>>>> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>>>>>>           /var/run/dbus/system_bus_socket
>>>>>>
>>>>>>
>>>>>>
>>>>>> Can you please suggest, which network setting is missing here?
>>>>>>
>>>>>> Thanks,
>>>>>> Amal Kumar
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>>>>>>
>>>>>>> Hello Amal,
>>>>>>>
>>>>>>> It seems that you need to tweak EC2 network settings to allow
>>>>>>> incoming traffic to both the ports (7070 & 8000) to be able to access it
>>>>>>> from outside the linux instance.
>>>>>>>
>>>>>>> -- Tapo
>>>>>>>
>>>>>>> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Team,
>>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I have installed the PredictionIO on EC2, using the below reference
>>>>>>>> http://predictionio.incubator.apache.org/install/install-linux/
>>>>>>>>
>>>>>>>> Event server is started with command  to serve the glolab traffic
>>>>>>>> pio eventserver 0.0.0.0 &
>>>>>>>>
>>>>>>>>
>>>>>>>> Also, I have deployed PredictionIO template i.e.
>>>>>>>> http://predictionio.incubator.apache.org/templates/recommend
>>>>>>>> ation/quickstart/ using the command to serve the global traffic
>>>>>>>> i.e.
>>>>>>>> pio deploy --ip 0.0.0.0 &
>>>>>>>>
>>>>>>>>
>>>>>>>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>>>>>>>> curl -i -X GET http://localhost:7070
>>>>>>>>
>>>>>>>> HTTP/1.1 200 OK
>>>>>>>> Server: spray-can/1.3.3
>>>>>>>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>>>>>>>> Content-Type: application/json; charset=UTF-8
>>>>>>>> Content-Length: 18
>>>>>>>>
>>>>>>>> {"status":"alive"}
>>>>>>>>
>>>>>>>>
>>>>>>>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>>>>>>>> curl -k -H "Content-Type: application/json" -d '{ "user": "1",
>>>>>>>> "num": 2 }' https://localhost:8000/queries.json
>>>>>>>> {"itemScores":[{"item":"8","score":8.775522559547664},{"item
>>>>>>>> ":"55","score":7.826485976992348}
>>>>>>>>
>>>>>>>>
>>>>>>>> But, I am not able to access Event Server (port : 7070) or Engine
>>>>>>>> (port : 8000) from Outside web brower.
>>>>>>>>
>>>>>>>> Error:
>>>>>>>> Connection Refused
>>>>>>>>
>>>>>>>>
>>>>>>>> Can you please help.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Amal Kumar
>>>>>>>>
>>>>>>>
>>>>>>
>>>>
>>>
>>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by Donald Szeto <do...@apache.org>.
Hi Amal,

Could you try disabling IPv6 of your Java processes and see if it helps?

export JAVA_OPTS=-Djava.net.preferIPv4Stack=true
pio eventserver --ip 0.0.0.0

Regards,
Donald

On Thursday, October 6, 2016, amal kumar <am...@gmail.com> wrote:

> Hi Gustavo,
>
> I have tried both curl and web browser from outside the server but no luck.
>
> Curl error:
> curl: (7) Failed to connect to <MYDNS/PUBLIC_IP> port 8000: Connection
> refused
>
>
> Thanks,
> Amal
>
> On Thu, Oct 6, 2016 at 5:44 PM, Gustavo Frederico <
> gustavo.frederico@thinkwrap.com
> <javascript:_e(%7B%7D,'cvml','gustavo.frederico@thinkwrap.com');>> wrote:
>
>> Are you trying to hit the server using curl from outside the server? If
>> so, what happens? If the çurl requests don't work, it's a port mapping or
>> firewall issue.
>>
>> If curl works but the browser doesn't, you have to be careful with the
>> same-origin policy. The same-origin policy says that the requests have to
>> go to the same protocol, server domain and port of the page. You can get
>> around that using CORS, which is basically a set of extra headers added by
>> the server. You also need to be careful with the content type and CORS.
>> https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
>>
>> Gustavo
>>
>>
>> On Thu, Oct 6, 2016 at 3:14 AM, amal kumar <amal.kmr.singh@gmail.com
>> <javascript:_e(%7B%7D,'cvml','amal.kmr.singh@gmail.com');>> wrote:
>>
>>> Hi Tapo,
>>>
>>> I have added the above configuration to the iptables, but still no luck.
>>>
>>> sudo iptables -L -n:
>>> [image: Inline image 1]
>>>
>>> Also,
>>> $ sudo iptables -S
>>> -P INPUT ACCEPT
>>> -P FORWARD ACCEPT
>>> -P OUTPUT ACCEPT
>>> -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>>> -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>>
>>>
>>> $ sudo ip6tables -S
>>> -P INPUT ACCEPT
>>> -P FORWARD ACCEPT
>>> -P OUTPUT ACCEPT
>>>
>>>
>>> $ netstat -nlp
>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>> State       PID/Program name
>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>> LISTEN      -
>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>> LISTEN      -
>>> tcp6       0      0 :::36301                :::*
>>>  LISTEN      31215/java
>>> tcp6       0      0 172.31.12.251:52787     :::*
>>>  LISTEN      31215/java
>>> tcp6       0      0 :::22                   :::*
>>>  LISTEN      -
>>> tcp6       0      0 :::7070                 :::*
>>>  LISTEN      30707/java
>>> tcp6       0      0 :::8000                 :::*
>>>  LISTEN      31215/java
>>> tcp6       0      0 :::41057                :::*
>>>  LISTEN      31215/java
>>> tcp6       0      0 :::4040                 :::*
>>>  LISTEN      31215/java
>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>         -
>>> udp        0      0 0.0.0.0:34499           0.0.0.0:*
>>>         -
>>> udp6       0      0 :::42478                :::*
>>>        -
>>> Active UNIX domain sockets (only servers)
>>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>>> name    Path
>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
>>>       /run/udev/control
>>> unix  2      [ ACC ]     STREAM     LISTENING     8718     -
>>>       /var/run/dbus/system_bus_socket
>>> unix  2      [ ACC ]     STREAM     LISTENING     8978     -
>>>       /var/run/acpid.socket
>>> unix  2      [ ACC ]     STREAM     LISTENING     457      -
>>>       @/com/ubuntu/upstart
>>> unix  2      [ ACC ]     STREAM     LISTENING     8044     -
>>>       /var/run/postgresql/.s.PGSQL.5432
>>>
>>>
>>>
>>> Thanks,
>>> Amal Kumar
>>>
>>> On Wed, Oct 5, 2016 at 3:28 PM, Sunny <sunnystarin@gmail.com
>>> <javascript:_e(%7B%7D,'cvml','sunnystarin@gmail.com');>> wrote:
>>>
>>>> Hello Amal,
>>>>
>>>> Try running following commands on your SSH terminal (on AWS linux),
>>>> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>>>> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>>>
>>>> This should allow TCP input traffic to both the ports.
>>>> In case it doesn't work, send output of the following command,
>>>> sudo iptables -L -n
>>>>
>>>> -- Tapo
>>>>
>>>> On Wed, 5 Oct 2016 at 09:40 amal kumar <amal.kmr.singh@gmail.com
>>>> <javascript:_e(%7B%7D,'cvml','amal.kmr.singh@gmail.com');>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> As my understanding, i have updated the ec2 security group as below.
>>>>> Still not able to connect from web browser outside SSH
>>>>>
>>>>> Inbound:
>>>>> [image: Inline image 1]
>>>>>
>>>>> Outbound:
>>>>> [image: Inline image 2]
>>>>>
>>>>>
>>>>> iptables Status:
>>>>>
>>>>> $ sudo iptables -S
>>>>> -P INPUT ACCEPT
>>>>> -P FORWARD ACCEPT
>>>>> -P OUTPUT ACCEPT
>>>>>
>>>>> ip6tables Status:
>>>>>
>>>>> $ sudo ip6tables -S
>>>>> -P INPUT ACCEPT
>>>>> -P FORWARD ACCEPT
>>>>> -P OUTPUT ACCEPT
>>>>>
>>>>>
>>>>>
>>>>> $ netstat -nlp
>>>>> (Not all processes could be identified, non-owned process info
>>>>>  will not be shown, you would have to be root to see it all.)
>>>>> Active Internet connections (only servers)
>>>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>>>> State       PID/Program name
>>>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>>>> LISTEN      -
>>>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>>>> LISTEN      -
>>>>> tcp6       0      0 :::22                   :::*
>>>>>  LISTEN      -
>>>>> tcp6       0      0 :::56568                :::*
>>>>>  LISTEN      1848/java
>>>>> tcp6       0      0 :::7070                 :::*
>>>>>  LISTEN      1333/java
>>>>> tcp6       0      0 :::8000                 :::*
>>>>>  LISTEN      1848/java
>>>>> tcp6       0      0 :::40356                :::*
>>>>>  LISTEN      1848/java
>>>>> tcp6       0      0 172.31.12.251:48166     :::*
>>>>>  LISTEN      1848/java
>>>>> tcp6       0      0 :::4040                 :::*
>>>>>  LISTEN      1848/java
>>>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>>>           -
>>>>> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>>>>>           -
>>>>> udp6       0      0 :::22478                :::*
>>>>>          -
>>>>> Active UNIX domain sockets (only servers)
>>>>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>>>>> name    Path
>>>>> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>>>>>         /var/run/postgresql/.s.PGSQL.5432
>>>>> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>>>>>         @/com/ubuntu/upstart
>>>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>>>>>         /run/udev/control
>>>>> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>>>>>         /var/run/acpid.socket
>>>>> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>>>>>         /var/run/dbus/system_bus_socket
>>>>>
>>>>>
>>>>>
>>>>> Can you please suggest, which network setting is missing here?
>>>>>
>>>>> Thanks,
>>>>> Amal Kumar
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <sunnystarin@gmail.com
>>>>> <javascript:_e(%7B%7D,'cvml','sunnystarin@gmail.com');>> wrote:
>>>>>
>>>>>> Hello Amal,
>>>>>>
>>>>>> It seems that you need to tweak EC2 network settings to allow
>>>>>> incoming traffic to both the ports (7070 & 8000) to be able to access it
>>>>>> from outside the linux instance.
>>>>>>
>>>>>> -- Tapo
>>>>>>
>>>>>> On Tue, 4 Oct 2016 at 17:09 amal kumar <amal.kmr.singh@gmail.com
>>>>>> <javascript:_e(%7B%7D,'cvml','amal.kmr.singh@gmail.com');>> wrote:
>>>>>>
>>>>>>> Hi Team,
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I have installed the PredictionIO on EC2, using the below reference
>>>>>>> http://predictionio.incubator.apache.org/install/install-linux/
>>>>>>>
>>>>>>> Event server is started with command  to serve the glolab traffic
>>>>>>> pio eventserver 0.0.0.0 &
>>>>>>>
>>>>>>>
>>>>>>> Also, I have deployed PredictionIO template i.e.
>>>>>>> http://predictionio.incubator.apache.org/templates/recommend
>>>>>>> ation/quickstart/ using the command to serve the global traffic i.e.
>>>>>>> pio deploy --ip 0.0.0.0 &
>>>>>>>
>>>>>>>
>>>>>>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>>>>>>> curl -i -X GET http://localhost:7070
>>>>>>>
>>>>>>> HTTP/1.1 200 OK
>>>>>>> Server: spray-can/1.3.3
>>>>>>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>>>>>>> Content-Type: application/json; charset=UTF-8
>>>>>>> Content-Length: 18
>>>>>>>
>>>>>>> {"status":"alive"}
>>>>>>>
>>>>>>>
>>>>>>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>>>>>>> curl -k -H "Content-Type: application/json" -d '{ "user": "1",
>>>>>>> "num": 2 }' https://localhost:8000/queries.json
>>>>>>> {"itemScores":[{"item":"8","score":8.775522559547664},{"item
>>>>>>> ":"55","score":7.826485976992348}
>>>>>>>
>>>>>>>
>>>>>>> But, I am not able to access Event Server (port : 7070) or Engine
>>>>>>> (port : 8000) from Outside web brower.
>>>>>>>
>>>>>>> Error:
>>>>>>> Connection Refused
>>>>>>>
>>>>>>>
>>>>>>> Can you please help.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Amal Kumar
>>>>>>>
>>>>>>
>>>>>
>>>
>>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by amal kumar <am...@gmail.com>.
Hi Gustavo,

I have tried both curl and web browser from outside the server but no luck.

Curl error:
curl: (7) Failed to connect to <MYDNS/PUBLIC_IP> port 8000: Connection
refused


Thanks,
Amal

On Thu, Oct 6, 2016 at 5:44 PM, Gustavo Frederico <
gustavo.frederico@thinkwrap.com> wrote:

> Are you trying to hit the server using curl from outside the server? If
> so, what happens? If the çurl requests don't work, it's a port mapping or
> firewall issue.
>
> If curl works but the browser doesn't, you have to be careful with the
> same-origin policy. The same-origin policy says that the requests have to
> go to the same protocol, server domain and port of the page. You can get
> around that using CORS, which is basically a set of extra headers added by
> the server. You also need to be careful with the content type and CORS.
> https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
>
> Gustavo
>
>
> On Thu, Oct 6, 2016 at 3:14 AM, amal kumar <am...@gmail.com>
> wrote:
>
>> Hi Tapo,
>>
>> I have added the above configuration to the iptables, but still no luck.
>>
>> sudo iptables -L -n:
>> [image: Inline image 1]
>>
>> Also,
>> $ sudo iptables -S
>> -P INPUT ACCEPT
>> -P FORWARD ACCEPT
>> -P OUTPUT ACCEPT
>> -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>> -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>
>>
>> $ sudo ip6tables -S
>> -P INPUT ACCEPT
>> -P FORWARD ACCEPT
>> -P OUTPUT ACCEPT
>>
>>
>> $ netstat -nlp
>> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>>       PID/Program name
>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>> LISTEN      -
>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>> LISTEN      -
>> tcp6       0      0 :::36301                :::*
>>  LISTEN      31215/java
>> tcp6       0      0 172.31.12.251:52787     :::*
>>  LISTEN      31215/java
>> tcp6       0      0 :::22                   :::*
>>  LISTEN      -
>> tcp6       0      0 :::7070                 :::*
>>  LISTEN      30707/java
>> tcp6       0      0 :::8000                 :::*
>>  LISTEN      31215/java
>> tcp6       0      0 :::41057                :::*
>>  LISTEN      31215/java
>> tcp6       0      0 :::4040                 :::*
>>  LISTEN      31215/java
>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>         -
>> udp        0      0 0.0.0.0:34499           0.0.0.0:*
>>         -
>> udp6       0      0 :::42478                :::*
>>        -
>> Active UNIX domain sockets (only servers)
>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>> name    Path
>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
>>       /run/udev/control
>> unix  2      [ ACC ]     STREAM     LISTENING     8718     -
>>       /var/run/dbus/system_bus_socket
>> unix  2      [ ACC ]     STREAM     LISTENING     8978     -
>>       /var/run/acpid.socket
>> unix  2      [ ACC ]     STREAM     LISTENING     457      -
>>       @/com/ubuntu/upstart
>> unix  2      [ ACC ]     STREAM     LISTENING     8044     -
>>       /var/run/postgresql/.s.PGSQL.5432
>>
>>
>>
>> Thanks,
>> Amal Kumar
>>
>> On Wed, Oct 5, 2016 at 3:28 PM, Sunny <su...@gmail.com> wrote:
>>
>>> Hello Amal,
>>>
>>> Try running following commands on your SSH terminal (on AWS linux),
>>> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>>> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>>
>>> This should allow TCP input traffic to both the ports.
>>> In case it doesn't work, send output of the following command,
>>> sudo iptables -L -n
>>>
>>> -- Tapo
>>>
>>> On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> As my understanding, i have updated the ec2 security group as below.
>>>> Still not able to connect from web browser outside SSH
>>>>
>>>> Inbound:
>>>> [image: Inline image 1]
>>>>
>>>> Outbound:
>>>> [image: Inline image 2]
>>>>
>>>>
>>>> iptables Status:
>>>>
>>>> $ sudo iptables -S
>>>> -P INPUT ACCEPT
>>>> -P FORWARD ACCEPT
>>>> -P OUTPUT ACCEPT
>>>>
>>>> ip6tables Status:
>>>>
>>>> $ sudo ip6tables -S
>>>> -P INPUT ACCEPT
>>>> -P FORWARD ACCEPT
>>>> -P OUTPUT ACCEPT
>>>>
>>>>
>>>>
>>>> $ netstat -nlp
>>>> (Not all processes could be identified, non-owned process info
>>>>  will not be shown, you would have to be root to see it all.)
>>>> Active Internet connections (only servers)
>>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>>> State       PID/Program name
>>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>>> LISTEN      -
>>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>>> LISTEN      -
>>>> tcp6       0      0 :::22                   :::*
>>>>  LISTEN      -
>>>> tcp6       0      0 :::56568                :::*
>>>>  LISTEN      1848/java
>>>> tcp6       0      0 :::7070                 :::*
>>>>  LISTEN      1333/java
>>>> tcp6       0      0 :::8000                 :::*
>>>>  LISTEN      1848/java
>>>> tcp6       0      0 :::40356                :::*
>>>>  LISTEN      1848/java
>>>> tcp6       0      0 172.31.12.251:48166     :::*
>>>>  LISTEN      1848/java
>>>> tcp6       0      0 :::4040                 :::*
>>>>  LISTEN      1848/java
>>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>>           -
>>>> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>>>>           -
>>>> udp6       0      0 :::22478                :::*
>>>>          -
>>>> Active UNIX domain sockets (only servers)
>>>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>>>> name    Path
>>>> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>>>>         /var/run/postgresql/.s.PGSQL.5432
>>>> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>>>>         @/com/ubuntu/upstart
>>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>>>>         /run/udev/control
>>>> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>>>>         /var/run/acpid.socket
>>>> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>>>>         /var/run/dbus/system_bus_socket
>>>>
>>>>
>>>>
>>>> Can you please suggest, which network setting is missing here?
>>>>
>>>> Thanks,
>>>> Amal Kumar
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>>>>
>>>> Hello Amal,
>>>>
>>>> It seems that you need to tweak EC2 network settings to allow incoming
>>>> traffic to both the ports (7070 & 8000) to be able to access it from
>>>> outside the linux instance.
>>>>
>>>> -- Tapo
>>>>
>>>> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com>
>>>> wrote:
>>>>
>>>> Hi Team,
>>>>
>>>> Hello,
>>>>
>>>> I have installed the PredictionIO on EC2, using the below reference
>>>> http://predictionio.incubator.apache.org/install/install-linux/
>>>>
>>>> Event server is started with command  to serve the glolab traffic
>>>> pio eventserver 0.0.0.0 &
>>>>
>>>>
>>>> Also, I have deployed PredictionIO template i.e.
>>>> http://predictionio.incubator.apache.org/templates/recommend
>>>> ation/quickstart/ using the command to serve the global traffic i.e.
>>>> pio deploy --ip 0.0.0.0 &
>>>>
>>>>
>>>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>>>> curl -i -X GET http://localhost:7070
>>>>
>>>> HTTP/1.1 200 OK
>>>> Server: spray-can/1.3.3
>>>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>>>> Content-Type: application/json; charset=UTF-8
>>>> Content-Length: 18
>>>>
>>>> {"status":"alive"}
>>>>
>>>>
>>>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>>>> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2
>>>> }' https://localhost:8000/queries.json
>>>> {"itemScores":[{"item":"8","score":8.775522559547664},{"item
>>>> ":"55","score":7.826485976992348}
>>>>
>>>>
>>>> But, I am not able to access Event Server (port : 7070) or Engine (port
>>>> : 8000) from Outside web brower.
>>>>
>>>> Error:
>>>> Connection Refused
>>>>
>>>>
>>>> Can you please help.
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> Amal Kumar
>>>>
>>>>
>>>>
>>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by Gustavo Frederico <gu...@thinkwrap.com>.
Are you trying to hit the server using curl from outside the server? If so,
what happens? If the çurl requests don't work, it's a port mapping or
firewall issue.

If curl works but the browser doesn't, you have to be careful with the
same-origin policy. The same-origin policy says that the requests have to
go to the same protocol, server domain and port of the page. You can get
around that using CORS, which is basically a set of extra headers added by
the server. You also need to be careful with the content type and CORS.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

Gustavo


On Thu, Oct 6, 2016 at 3:14 AM, amal kumar <am...@gmail.com> wrote:

> Hi Tapo,
>
> I have added the above configuration to the iptables, but still no luck.
>
> sudo iptables -L -n:
> [image: Inline image 1]
>
> Also,
> $ sudo iptables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
> -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
> -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>
>
> $ sudo ip6tables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
>
> $ netstat -nlp
> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>       PID/Program name
> tcp        0      0 0.0.0.0:22              0.0.0.0:*
> LISTEN      -
> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
> LISTEN      -
> tcp6       0      0 :::36301                :::*                    LISTEN
>      31215/java
> tcp6       0      0 172.31.12.251:52787     :::*
>  LISTEN      31215/java
> tcp6       0      0 :::22                   :::*                    LISTEN
>      -
> tcp6       0      0 :::7070                 :::*                    LISTEN
>      30707/java
> tcp6       0      0 :::8000                 :::*                    LISTEN
>      31215/java
> tcp6       0      0 :::41057                :::*                    LISTEN
>      31215/java
> tcp6       0      0 :::4040                 :::*                    LISTEN
>      31215/java
> udp        0      0 0.0.0.0:68              0.0.0.0:*
>       -
> udp        0      0 0.0.0.0:34499           0.0.0.0:*
>       -
> udp6       0      0 :::42478                :::*
>      -
> Active UNIX domain sockets (only servers)
> Proto RefCnt Flags       Type       State         I-Node   PID/Program
> name    Path
> unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
>     /run/udev/control
> unix  2      [ ACC ]     STREAM     LISTENING     8718     -
>     /var/run/dbus/system_bus_socket
> unix  2      [ ACC ]     STREAM     LISTENING     8978     -
>     /var/run/acpid.socket
> unix  2      [ ACC ]     STREAM     LISTENING     457      -
>     @/com/ubuntu/upstart
> unix  2      [ ACC ]     STREAM     LISTENING     8044     -
>     /var/run/postgresql/.s.PGSQL.5432
>
>
>
> Thanks,
> Amal Kumar
>
> On Wed, Oct 5, 2016 at 3:28 PM, Sunny <su...@gmail.com> wrote:
>
>> Hello Amal,
>>
>> Try running following commands on your SSH terminal (on AWS linux),
>> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
>> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>>
>> This should allow TCP input traffic to both the ports.
>> In case it doesn't work, send output of the following command,
>> sudo iptables -L -n
>>
>> -- Tapo
>>
>> On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> As my understanding, i have updated the ec2 security group as below.
>>> Still not able to connect from web browser outside SSH
>>>
>>> Inbound:
>>> [image: Inline image 1]
>>>
>>> Outbound:
>>> [image: Inline image 2]
>>>
>>>
>>> iptables Status:
>>>
>>> $ sudo iptables -S
>>> -P INPUT ACCEPT
>>> -P FORWARD ACCEPT
>>> -P OUTPUT ACCEPT
>>>
>>> ip6tables Status:
>>>
>>> $ sudo ip6tables -S
>>> -P INPUT ACCEPT
>>> -P FORWARD ACCEPT
>>> -P OUTPUT ACCEPT
>>>
>>>
>>>
>>> $ netstat -nlp
>>> (Not all processes could be identified, non-owned process info
>>>  will not be shown, you would have to be root to see it all.)
>>> Active Internet connections (only servers)
>>> Proto Recv-Q Send-Q Local Address           Foreign Address
>>> State       PID/Program name
>>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>>> LISTEN      -
>>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>>> LISTEN      -
>>> tcp6       0      0 :::22                   :::*
>>>  LISTEN      -
>>> tcp6       0      0 :::56568                :::*
>>>  LISTEN      1848/java
>>> tcp6       0      0 :::7070                 :::*
>>>  LISTEN      1333/java
>>> tcp6       0      0 :::8000                 :::*
>>>  LISTEN      1848/java
>>> tcp6       0      0 :::40356                :::*
>>>  LISTEN      1848/java
>>> tcp6       0      0 172.31.12.251:48166     :::*
>>>  LISTEN      1848/java
>>> tcp6       0      0 :::4040                 :::*
>>>  LISTEN      1848/java
>>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>>         -
>>> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>>>         -
>>> udp6       0      0 :::22478                :::*
>>>        -
>>> Active UNIX domain sockets (only servers)
>>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>>> name    Path
>>> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>>>       /var/run/postgresql/.s.PGSQL.5432
>>> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>>>       @/com/ubuntu/upstart
>>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>>>       /run/udev/control
>>> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>>>       /var/run/acpid.socket
>>> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>>>       /var/run/dbus/system_bus_socket
>>>
>>>
>>>
>>> Can you please suggest, which network setting is missing here?
>>>
>>> Thanks,
>>> Amal Kumar
>>>
>>>
>>>
>>>
>>> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>>>
>>> Hello Amal,
>>>
>>> It seems that you need to tweak EC2 network settings to allow incoming
>>> traffic to both the ports (7070 & 8000) to be able to access it from
>>> outside the linux instance.
>>>
>>> -- Tapo
>>>
>>> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:
>>>
>>> Hi Team,
>>>
>>> Hello,
>>>
>>> I have installed the PredictionIO on EC2, using the below reference
>>> http://predictionio.incubator.apache.org/install/install-linux/
>>>
>>> Event server is started with command  to serve the glolab traffic
>>> pio eventserver 0.0.0.0 &
>>>
>>>
>>> Also, I have deployed PredictionIO template i.e.
>>> http://predictionio.incubator.apache.org/templates/recommend
>>> ation/quickstart/ using the command to serve the global traffic i.e.
>>> pio deploy --ip 0.0.0.0 &
>>>
>>>
>>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>>> curl -i -X GET http://localhost:7070
>>>
>>> HTTP/1.1 200 OK
>>> Server: spray-can/1.3.3
>>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>>> Content-Type: application/json; charset=UTF-8
>>> Content-Length: 18
>>>
>>> {"status":"alive"}
>>>
>>>
>>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>>> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2
>>> }' https://localhost:8000/queries.json
>>> {"itemScores":[{"item":"8","score":8.775522559547664},{"item
>>> ":"55","score":7.826485976992348}
>>>
>>>
>>> But, I am not able to access Event Server (port : 7070) or Engine (port
>>> : 8000) from Outside web brower.
>>>
>>> Error:
>>> Connection Refused
>>>
>>>
>>> Can you please help.
>>>
>>>
>>>
>>> Thanks,
>>> Amal Kumar
>>>
>>>
>>>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by amal kumar <am...@gmail.com>.
Hi Tapo,

I have added the above configuration to the iptables, but still no luck.

sudo iptables -L -n:
[image: Inline image 1]

Also,
$ sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT


$ sudo ip6tables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT


$ netstat -nlp
Proto Recv-Q Send-Q Local Address           Foreign Address         State
    PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
     -
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN
     -
tcp6       0      0 :::36301                :::*                    LISTEN
     31215/java
tcp6       0      0 172.31.12.251:52787     :::*                    LISTEN
     31215/java
tcp6       0      0 :::22                   :::*                    LISTEN
     -
tcp6       0      0 :::7070                 :::*                    LISTEN
     30707/java
tcp6       0      0 :::8000                 :::*                    LISTEN
     31215/java
tcp6       0      0 :::41057                :::*                    LISTEN
     31215/java
tcp6       0      0 :::4040                 :::*                    LISTEN
     31215/java
udp        0      0 0.0.0.0:68              0.0.0.0:*
    -
udp        0      0 0.0.0.0:34499           0.0.0.0:*
    -
udp6       0      0 :::42478                :::*
     -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name
   Path
unix  2      [ ACC ]     SEQPACKET  LISTENING     7434     -
    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     8718     -
    /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     8978     -
    /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     457      -
    @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     8044     -
    /var/run/postgresql/.s.PGSQL.5432



Thanks,
Amal Kumar

On Wed, Oct 5, 2016 at 3:28 PM, Sunny <su...@gmail.com> wrote:

> Hello Amal,
>
> Try running following commands on your SSH terminal (on AWS linux),
> sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
> sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
>
> This should allow TCP input traffic to both the ports.
> In case it doesn't work, send output of the following command,
> sudo iptables -L -n
>
> -- Tapo
>
> On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com> wrote:
>
>> Hi,
>>
>> As my understanding, i have updated the ec2 security group as below.
>> Still not able to connect from web browser outside SSH
>>
>> Inbound:
>> [image: Inline image 1]
>>
>> Outbound:
>> [image: Inline image 2]
>>
>>
>> iptables Status:
>>
>> $ sudo iptables -S
>> -P INPUT ACCEPT
>> -P FORWARD ACCEPT
>> -P OUTPUT ACCEPT
>>
>> ip6tables Status:
>>
>> $ sudo ip6tables -S
>> -P INPUT ACCEPT
>> -P FORWARD ACCEPT
>> -P OUTPUT ACCEPT
>>
>>
>>
>> $ netstat -nlp
>> (Not all processes could be identified, non-owned process info
>>  will not be shown, you would have to be root to see it all.)
>> Active Internet connections (only servers)
>> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>>       PID/Program name
>> tcp        0      0 0.0.0.0:22              0.0.0.0:*
>> LISTEN      -
>> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
>> LISTEN      -
>> tcp6       0      0 :::22                   :::*
>>  LISTEN      -
>> tcp6       0      0 :::56568                :::*
>>  LISTEN      1848/java
>> tcp6       0      0 :::7070                 :::*
>>  LISTEN      1333/java
>> tcp6       0      0 :::8000                 :::*
>>  LISTEN      1848/java
>> tcp6       0      0 :::40356                :::*
>>  LISTEN      1848/java
>> tcp6       0      0 172.31.12.251:48166     :::*
>>  LISTEN      1848/java
>> tcp6       0      0 :::4040                 :::*
>>  LISTEN      1848/java
>> udp        0      0 0.0.0.0:68              0.0.0.0:*
>>         -
>> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>>         -
>> udp6       0      0 :::22478                :::*
>>        -
>> Active UNIX domain sockets (only servers)
>> Proto RefCnt Flags       Type       State         I-Node   PID/Program
>> name    Path
>> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>>       /var/run/postgresql/.s.PGSQL.5432
>> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>>       @/com/ubuntu/upstart
>> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>>       /run/udev/control
>> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>>       /var/run/acpid.socket
>> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>>       /var/run/dbus/system_bus_socket
>>
>>
>>
>> Can you please suggest, which network setting is missing here?
>>
>> Thanks,
>> Amal Kumar
>>
>>
>>
>>
>> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>>
>> Hello Amal,
>>
>> It seems that you need to tweak EC2 network settings to allow incoming
>> traffic to both the ports (7070 & 8000) to be able to access it from
>> outside the linux instance.
>>
>> -- Tapo
>>
>> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:
>>
>> Hi Team,
>>
>> Hello,
>>
>> I have installed the PredictionIO on EC2, using the below reference
>> http://predictionio.incubator.apache.org/install/install-linux/
>>
>> Event server is started with command  to serve the glolab traffic
>> pio eventserver 0.0.0.0 &
>>
>>
>> Also, I have deployed PredictionIO template i.e.
>> http://predictionio.incubator.apache.org/templates/
>> recommendation/quickstart/ using the command to serve the global traffic
>> i.e.
>> pio deploy --ip 0.0.0.0 &
>>
>>
>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>> curl -i -X GET http://localhost:7070
>>
>> HTTP/1.1 200 OK
>> Server: spray-can/1.3.3
>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>> Content-Type: application/json; charset=UTF-8
>> Content-Length: 18
>>
>> {"status":"alive"}
>>
>>
>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2
>> }' https://localhost:8000/queries.json
>> {"itemScores":[{"item":"8","score":8.775522559547664},{"
>> item":"55","score":7.826485976992348}
>>
>>
>> But, I am not able to access Event Server (port : 7070) or Engine (port :
>> 8000) from Outside web brower.
>>
>> Error:
>> Connection Refused
>>
>>
>> Can you please help.
>>
>>
>>
>> Thanks,
>> Amal Kumar
>>
>>
>>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by Sunny <su...@gmail.com>.
Hello Amal,

Try running following commands on your SSH terminal (on AWS linux),
sudo iptables -A INPUT -p tcp -m tcp --dport 7070 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT

This should allow TCP input traffic to both the ports.
In case it doesn't work, send output of the following command,
sudo iptables -L -n

-- Tapo

On Wed, 5 Oct 2016 at 09:40 amal kumar <am...@gmail.com> wrote:

> Hi,
>
> As my understanding, i have updated the ec2 security group as below. Still
> not able to connect from web browser outside SSH
>
> Inbound:
> [image: Inline image 1]
>
> Outbound:
> [image: Inline image 2]
>
>
> iptables Status:
>
> $ sudo iptables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
> ip6tables Status:
>
> $ sudo ip6tables -S
> -P INPUT ACCEPT
> -P FORWARD ACCEPT
> -P OUTPUT ACCEPT
>
>
>
> $ netstat -nlp
> (Not all processes could be identified, non-owned process info
>  will not be shown, you would have to be root to see it all.)
> Active Internet connections (only servers)
> Proto Recv-Q Send-Q Local Address           Foreign Address         State
>       PID/Program name
> tcp        0      0 0.0.0.0:22              0.0.0.0:*
> LISTEN      -
> tcp        0      0 127.0.0.1:5432          0.0.0.0:*
> LISTEN      -
> tcp6       0      0 :::22                   :::*                    LISTEN
>      -
> tcp6       0      0 :::56568                :::*                    LISTEN
>      1848/java
> tcp6       0      0 :::7070                 :::*                    LISTEN
>      1333/java
> tcp6       0      0 :::8000                 :::*                    LISTEN
>      1848/java
> tcp6       0      0 :::40356                :::*                    LISTEN
>      1848/java
> tcp6       0      0 172.31.12.251:48166     :::*
>  LISTEN      1848/java
> tcp6       0      0 :::4040                 :::*                    LISTEN
>      1848/java
> udp        0      0 0.0.0.0:68              0.0.0.0:*
>       -
> udp        0      0 0.0.0.0:55452           0.0.0.0:*
>       -
> udp6       0      0 :::22478                :::*
>      -
> Active UNIX domain sockets (only servers)
> Proto RefCnt Flags       Type       State         I-Node   PID/Program
> name    Path
> unix  2      [ ACC ]     STREAM     LISTENING     8980     -
>     /var/run/postgresql/.s.PGSQL.5432
> unix  2      [ ACC ]     STREAM     LISTENING     7313     -
>     @/com/ubuntu/upstart
> unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
>     /run/udev/control
> unix  2      [ ACC ]     STREAM     LISTENING     8941     -
>     /var/run/acpid.socket
> unix  2      [ ACC ]     STREAM     LISTENING     7934     -
>     /var/run/dbus/system_bus_socket
>
>
>
> Can you please suggest, which network setting is missing here?
>
> Thanks,
> Amal Kumar
>
>
>
>
> On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:
>
> Hello Amal,
>
> It seems that you need to tweak EC2 network settings to allow incoming
> traffic to both the ports (7070 & 8000) to be able to access it from
> outside the linux instance.
>
> -- Tapo
>
> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:
>
> Hi Team,
>
> Hello,
>
> I have installed the PredictionIO on EC2, using the below reference
> http://predictionio.incubator.apache.org/install/install-linux/
>
> Event server is started with command  to serve the glolab traffic
> pio eventserver 0.0.0.0 &
>
>
> Also, I have deployed PredictionIO template i.e.
> http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
> using the command to serve the global traffic i.e.
> pio deploy --ip 0.0.0.0 &
>
>
> Now, I am able to connect to  Event Server (port : 7070) from SSH
> curl -i -X GET http://localhost:7070
>
> HTTP/1.1 200 OK
> Server: spray-can/1.3.3
> Date: Tue, 04 Oct 2016 11:31:44 GMT
> Content-Type: application/json; charset=UTF-8
> Content-Length: 18
>
> {"status":"alive"}
>
>
> Also, I am able to connect to  Engine (port : 8000) from SSH:
> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2 }'
> https://localhost:8000/queries.json
>
> {"itemScores":[{"item":"8","score":8.775522559547664},{"item":"55","score":7.826485976992348}
>
>
> But, I am not able to access Event Server (port : 7070) or Engine (port :
> 8000) from Outside web brower.
>
> Error:
> Connection Refused
>
>
> Can you please help.
>
>
>
> Thanks,
> Amal Kumar
>
>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by amal kumar <am...@gmail.com>.
Hi,

As my understanding, i have updated the ec2 security group as below. Still
not able to connect from web browser outside SSH

Inbound:
[image: Inline image 1]

Outbound:
[image: Inline image 2]


iptables Status:

$ sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

ip6tables Status:

$ sudo ip6tables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT



$ netstat -nlp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
    PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
     -
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN
     -
tcp6       0      0 :::22                   :::*                    LISTEN
     -
tcp6       0      0 :::56568                :::*                    LISTEN
     1848/java
tcp6       0      0 :::7070                 :::*                    LISTEN
     1333/java
tcp6       0      0 :::8000                 :::*                    LISTEN
     1848/java
tcp6       0      0 :::40356                :::*                    LISTEN
     1848/java
tcp6       0      0 172.31.12.251:48166     :::*                    LISTEN
     1848/java
tcp6       0      0 :::4040                 :::*                    LISTEN
     1848/java
udp        0      0 0.0.0.0:68              0.0.0.0:*
    -
udp        0      0 0.0.0.0:55452           0.0.0.0:*
    -
udp6       0      0 :::22478                :::*
     -
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name
   Path
unix  2      [ ACC ]     STREAM     LISTENING     8980     -
    /var/run/postgresql/.s.PGSQL.5432
unix  2      [ ACC ]     STREAM     LISTENING     7313     -
    @/com/ubuntu/upstart
unix  2      [ ACC ]     SEQPACKET  LISTENING     7575     -
    /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     8941     -
    /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     7934     -
    /var/run/dbus/system_bus_socket



Can you please suggest, which network setting is missing here?

Thanks,
Amal Kumar




On Tue, Oct 4, 2016 at 5:55 PM, Sunny <su...@gmail.com> wrote:

> Hello Amal,
>
> It seems that you need to tweak EC2 network settings to allow incoming
> traffic to both the ports (7070 & 8000) to be able to access it from
> outside the linux instance.
>
> -- Tapo
>
> On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:
>
>> Hi Team,
>>
>> Hello,
>>
>> I have installed the PredictionIO on EC2, using the below reference
>> http://predictionio.incubator.apache.org/install/install-linux/
>>
>> Event server is started with command  to serve the glolab traffic
>> pio eventserver 0.0.0.0 &
>>
>>
>> Also, I have deployed PredictionIO template i.e.
>> http://predictionio.incubator.apache.org/templates/
>> recommendation/quickstart/ using the command to serve the global traffic
>> i.e.
>> pio deploy --ip 0.0.0.0 &
>>
>>
>> Now, I am able to connect to  Event Server (port : 7070) from SSH
>> curl -i -X GET http://localhost:7070
>>
>> HTTP/1.1 200 OK
>> Server: spray-can/1.3.3
>> Date: Tue, 04 Oct 2016 11:31:44 GMT
>> Content-Type: application/json; charset=UTF-8
>> Content-Length: 18
>>
>> {"status":"alive"}
>>
>>
>> Also, I am able to connect to  Engine (port : 8000) from SSH:
>> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2
>> }' https://localhost:8000/queries.json
>> {"itemScores":[{"item":"8","score":8.775522559547664},{"
>> item":"55","score":7.826485976992348}
>>
>>
>> But, I am not able to access Event Server (port : 7070) or Engine (port :
>> 8000) from Outside web brower.
>>
>> Error:
>> Connection Refused
>>
>>
>> Can you please help.
>>
>>
>>
>> Thanks,
>> Amal Kumar
>>
>

Re: Unable to Access Event Server or Engine from Web Browser (Outside SSH)

Posted by Sunny <su...@gmail.com>.
Hello Amal,

It seems that you need to tweak EC2 network settings to allow incoming
traffic to both the ports (7070 & 8000) to be able to access it from
outside the linux instance.

-- Tapo

On Tue, 4 Oct 2016 at 17:09 amal kumar <am...@gmail.com> wrote:

> Hi Team,
>
> Hello,
>
> I have installed the PredictionIO on EC2, using the below reference
> http://predictionio.incubator.apache.org/install/install-linux/
>
> Event server is started with command  to serve the glolab traffic
> pio eventserver 0.0.0.0 &
>
>
> Also, I have deployed PredictionIO template i.e.
> http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
> using the command to serve the global traffic i.e.
> pio deploy --ip 0.0.0.0 &
>
>
> Now, I am able to connect to  Event Server (port : 7070) from SSH
> curl -i -X GET http://localhost:7070
>
> HTTP/1.1 200 OK
> Server: spray-can/1.3.3
> Date: Tue, 04 Oct 2016 11:31:44 GMT
> Content-Type: application/json; charset=UTF-8
> Content-Length: 18
>
> {"status":"alive"}
>
>
> Also, I am able to connect to  Engine (port : 8000) from SSH:
> curl -k -H "Content-Type: application/json" -d '{ "user": "1", "num": 2 }'
> https://localhost:8000/queries.json
>
> {"itemScores":[{"item":"8","score":8.775522559547664},{"item":"55","score":7.826485976992348}
>
>
> But, I am not able to access Event Server (port : 7070) or Engine (port :
> 8000) from Outside web brower.
>
> Error:
> Connection Refused
>
>
> Can you please help.
>
>
>
> Thanks,
> Amal Kumar
>