Voyz / ibeam

IBeam is an authentication and maintenance tool used for the Interactive Brokers Client Portal Web API Gateway.
Apache License 2.0
580 stars 115 forks source link

Unable to access due to Access Denied error #94

Closed freggy145 closed 2 years ago

freggy145 commented 2 years ago

Hello,

I've deployed IBeam on a server using Docker and this YouTube tutorial: https://www.youtube.com/watch?v=J2F6PrPUG6w; however, no matter what I try, I can't access it. I'm getting Access Denied.

I tried to troubleshoot it using the Troubleshooting section by adding my IP to the allow: list but no luck. I even tried to make it available to all IP by allowing *.*.*.*. Not sure if this can work, but in any case, it didn't. Here is my conf.yaml file:

ip2loc: "US"
proxyRemoteSsl: true
proxyRemoteHost: "https://api.ibkr.com"
listenPort: 5000
listenSsl: true
svcEnvironment: "v1"
sslCert: "vertx.jks"
sslPwd: "mywebapi"
authDelay: 3000
portalBaseURL: ""
serverOptions:
    blockedThreadCheckInterval: 1000000
    eventLoopPoolSize: 20
    workerPoolSize: 20
    maxWorkerExecuteTime: 100
    internalBlockingPoolSize: 20
cors:
    origin.allowed: "*"
    allowCredentials: false
webApps:
    - name: "demo"
      index: "index.html"
ips:
  allow:
    - 192.*
    - 131.216.*
    - 127.0.0.1
    - 0.0.0.0
    - 172.17.0.*
    - 45.41.174.156
  deny:
    - 212.90.324.10

Any help with the problem will be greatly appreciated!

Voyz commented 2 years ago

Hey @freggy145 - thanks for reporting your issue 👍

Please note that the tutorial you listed is unfortunately wrong in some areas, I don't recommend following it.

Could I ask you to paste the output of IBeam when you start it?

freggy145 commented 2 years ago

Hey @Voyz

Thanks for getting back to me! Here is the output:

root@localhost:~# docker run -v /root/inputs:/srv/inputs --env-file env.list -p 5000:5000 voyz/ibeam
2022-08-08 14:09:26,905|I| ############ Starting IBeam version 0.4.0 ############
2022-08-08 14:09:26,914|I| Gateway not found, starting new one...
2022-08-08 14:09:26,915|I| Note that the Gateway log below may display "Open https://localhost:5000 to login" - ignore this command.
running  
 runtime path : root:dist/ibgroup.web.core.iblink.router.clientportal.gw.jar:build/lib/runtime/*
 verticle     : 
2022-08-08 14:09:27,925|I| Gateway started with pid: 12
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/srv/clientportal.gw/build/lib/runtime/netty-common-4.1.15.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
 -> mount demo on /demo
Java Version: 11.0.12
****************************************************
version: ed4af2592e9dd4a784d5403843bd18292fd441ea Fri, 9 Nov 2018 13:23:18 -0500
****************************************************
This is a Beta release of the Client Portal Gateway
for any issues, please contact api@ibkr.com
and include a copy of your logs
****************************************************
https://www.interactivebrokers.com/api/doc.html
****************************************************
Open https://localhost:5000 to login
App demo is available after you login under: https://localhost:5000/demo/
2022-08-08 14:09:34,711|I| No active sessions, logging in...
2022-08-08 14:09:50,351|I| Authentication process succeeded
2022-08-08 14:09:53,492|I| Gateway running and authenticated.
2022-08-08 14:09:53,562|I| Starting maintenance with interval 60 seconds
Voyz commented 2 years ago

I cannot see the message confirming that the custom conf.yaml is being used: 'Custom conf.yaml found and will be used by the Gateway'. I'm guessing you're not providing it correctly through the Inputs Directory. Have a look here: https://github.com/Voyz/ibeam/wiki/Inputs-And-Outputs#-inputs-directory

freggy145 commented 2 years ago

Ah, I managed to figure out the issue. It was a simple typo :( I will close the ticket now. Thanks for the support!

Voyz commented 2 years ago

Glad to hear @freggy145 well done figuring it out 😊

jussirantala commented 1 year ago

I have this same problem after using succesfully for 1 month straight. I run it with docker-compose and no custom yaml or anything. I don't understand how to get rid of the Access Denied error which I get now when I try access https://localhost:6600/v1/api/one/user. Env file only has my IB username and pass.

version: "3.4"
networks:
  options:
    name: options
services:
  ibeam:
    image: voyz/ibeam
    container_name: ibeam
    env_file:
      - ./envs/agent/ib.env
    environment:
      - IBEAM_PAGE_LOAD_TIMEOUT=60000
    ports:
      - 6600:5000
      - 6601:5001
    network_mode: bridge # Required due to clientportal.gw IP whitelist
    restart: 'no' # Prevents IBEAM_MAX_FAILED_AUTH from being exceeded    
    stdin_open: true # docker run -i
    tty: true        # docker run -t    
    healthcheck:
        test: ["CMD", "curl", "-X GET", "https://localhost:5000/v1/api/one/user", "-k"]
        interval: 20s
        timeout: 10s
        start_period: 30s
        retries: 100    
    networks:
      - options