-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invoker requires port :9000
, or else will not work.
#194
Comments
You can't retrieve However @iffyuva @kgrz can you double check the behaviour? I don't use OSX anymore.. |
OSX 10.12.5 (16F73) - Sierra Good point about Thin. I didn't think of that. Out of curiosity, what was POW booting up that could have otherwise made it SSL compatible? Or what would I need to configure within Invoker? |
I updated my command as so
Seems to try and boot an SSL version, but alas, no signed SSL so Chrome displays its warning page, and I can only access it by going directly to |
@gotoAndBliss The CORS errors are expected when you request AJAX resources from a different domain (in this case, I'm trying to understand if this will be a problem of invoker or not. Up till this point, it doesn't seem so. |
@kgrz Ha, I'm six hours deep into this. I would do anything to even have it boot under |
Hmm, so two problems here. You can't access the page on |
Also, when you mentioned this:
Did you click on the "ADVANCED" link on that warning, and hit "proceed"? I'm trying to map the exact issue you're facing. |
Thank you @kgrz for your attention. I'm using this as my config now
Which boots up as so
If I go to
I do not seem to be getting any invoker errors. The Invoker server does not get hit when I go to If I run I see no
Yes, eventually I went through which brings me to a broken SSL homepage. Again, this only works if I go to https://0.0.0.0:9000 , and from there my site is inaccessible because I work on subdomains within it. For example |
@gotoAndBliss not having Do you have these files present? If so, what are their contents?
|
@gotoAndBliss simply put, we need to validate the setup according to this file https://github.com/code-mancers/invoker/blob/master/lib/invoker/power/setup/osx_setup.rb Also, please turn off and turn on your wifi once. I wen't M$ Windowz way, and restarted my machine once just to be sure :D |
After reinstalling, rebooting a few times, I was able to get dev back. Equally, I am able to get to an Invoker page that states
And I can get that error page by accessing
I went ahead and rebooted, and restarted WIFI as well. Same results. Thanks @iffyuva |
Ah, so now the invoker error page is showing up, but requests are not going through? One thing I can point out is that since the port number (9000) is non-80, the invoker.ini should have a Before you do that, try accessing |
In addition to above check, please paste info of |
@kgrz What do you mean by "non-80"? When I booted up thin on SSL it defaulted to 9000. So I started setting the port to that in the To keep things simple, but still produce the same current error ( going to
Which boots as ->
And my
|
@gotoAndBliss command is wrong! It should have that |
@iffyuva Ah ok so I added the port like so
Then the 9000 gets added back
And the same error persists if I curl Also tried this ->
|
So, does |
Ah! A major breakthrough. So The only caveat at this point is that the SSL is not configured. But I'm guessing this is something I have to do myself via self-signing and Invoker doesn't do that part out-of-box? |
Yes :) |
THANK YOU EVERYONE!! |
You don't have to use |
@iffyuva That doesn't seem to be true. |
You can either specify the command like
|
@kgrz Yes I tried both those separately and together, but I must specify the port in the url or it will not find the application. |
Hmm, that looks odd. The whole point of the project is to avoid users specifying a port in the URL :( |
You don't need to specify ssl params with thin. If you want to use https then invoker can take care of that. The ssl connections will be terminated at Invoker and forwarded to thin. i.e - drop the ssl params from thin and try. |
So what I am saying is, removing |
@gnufied Thanks for the advise. I dropped all the additional SSL info, and it still remains an insecure untrusted connection. Perhaps my browser is caching this sort of certificate? Is there a way to refresh it. Also, there's no way that just |
Perhaps Invoker doesn't support |
Invoker doesn't care about web servers in general - so yeah it does support Thin. I suspect, what is happening is - there is some left over pf filter rules by Pow and Invoker isn't the one that is receiving the request when you access your service using |
@swanandp let me try to reproduce the issue, and update you. Thanks. |
Let me know if you want any debugging information. Might help others |
@swanandp sure. For now, please rollback to old version, while we debug this issue. |
@iffyuva How does one rollback? And what version would be last working? |
I have invoker You follow these steps $ gem install invoker -v 1.5.1
$ invoker -v
1.5.3
$ invoker _1.5.1_ -v
1.5.1
$ invoker _1.5.1_ start <ini file> |
@iffyuva Ah thanks so much. Tried 1.5.1, and 1.4.1, still need to assign a port though. |
@gotoAndBliss @swanandp I have pushed a branch for debugging > git clone [email protected]:code-mancers/invoker.git
> cd invoker
> git checkout issue-194-debug-em-proxy
> bundle
> DEBUG_EM_PROXY=1 ./bin/invoker start <your-ini-file-path-here> You should see sample logs like this: https://gist.github.com/iffyuva/c6327944a998c83411e1b4d4f045304e Please gist them, and post them here. Thanks. EDIT: Updated branch name in instructions. |
@iffyuva I am pretty sure this is a networking setup issue, and not an Invoker issue. I just uninstalled Invoker and tried Pow, and that isn't working as well. ( This is from my co-working space ). I will try from home setup, and if everything works, let you know. |
@iffyuva Here you are sir. Thank you so much!! https://gist.github.com/gotoAndBliss/299c3c95d6008baac88c755fd79b3ad0 |
So, I got this working after running this:
Contents of my
|
And before that, I tried enabling port-forwarding: from the Pow troubleshooting guide: https://github.com/basecamp/pow/wiki/troubleshooting |
@swanandp nice that you have solved it yourself :D |
Interesting response. I tried So I started looking for any kind of port forwarding ( I admittedly have no idea what I'm doing ). But I found this.. And messed with this Out of curiosity, would using RVM somehow affect this? For RVM with pow, they recommend making a if [ -f "$rvm_path/scripts/rvm" ]; then
source "$rvm_path/scripts/rvm"
rvm use .
fi Note, for RVM I did do all the recommended Invoker RVM things..
|
So, sysctl net
sysctl net.inet
sysctl net.inet.ip Be warned, there is a lot of output to sift through:
I don't think so. RVM comes into play after the port forwarding has happened. It's further up the stack. |
I tried this
then
But alas, still need to designate the port. My other https://gist.github.com/gotoAndBliss/049fa7e5ac94b29f0976042f954f019c |
Today I went a bit further. Curious if anyone can see something blatantly incorrect about my approach here.. Started also forwarding ip6
Created a new forwarding rule
With
Added it to Parse tested it Rebooted, and ran Still need to include the port |
Could it be caused by #184? |
@WojtekKruszewski Thanks so much for the recommendation. I was previously on 2.1.5, and went to 2.3.0, but the problem still persisted. |
I have bumped into the same issue. I can access my app fine by visiting localhost:9000, but if I visit web.dev I'm greeted by the usual
I'm using the latest version (1.5.4) and these are my configuration files: $ cat /etc/resolver/dev
nameserver 127.0.0.1
port 23400 $ cat ~/.invoker/config
---
:http_port: 23403
:https_port: 23404
:tld: dev
:dns_port: 23400 $ cat /Library/LaunchDaemons/com.codemancers.invoker.firewall.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.codemancers.invoker</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>echo "rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 23403
rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 23404" | pfctl -a 'com.apple/250.InvokerFirewall' -f - -E</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
</dict>
</plist> $ head -1 Procfile
web: sleep 7 && zeus server -p $PORT and here is the output of
|
:9000
, or else will not work.
@Arkham Does this work for you: #194 (comment) ( It did for me, but didn't for @gotoAndBliss ) |
Hey @swanandp! I've tried every suggestion in the thread and the current situation is:
|
@Arkham I had the same and was resolved by running with binding |
@Dan2552 amazing, works for me too! |
Would there be something similar for running |
thin also has a |
@gnufied Ah ok, because I tried |
Purchased a brand new macbook, fresh install. Same issue. 😭 |
I discovered that if I greenfielded a new app, everything works as expected. No port required. I tried stripping down the problem app to practically nothing ( still in the process of stripping ). And everytime I make the call I get this error
Not sure if that means anything to anyone on this thread. |
Might be related: #248 |
I'm trying to migrate from POW, but lets give Invoker the benefit of the doubt and greenfield a new app
rails create newapp && cd newapp
. I did..My
invoker.ini
says..I run
sudo invoker setup
I run the app with ..
invoker start invoker.ini
Looks like it's booting up!
But...
curl whisper.dev
-> Operation Timeout.Strange.
https://0.0.0.0:9000
-> This site can’t provide a secure connection 0.0.0.0 sent an invalid response.Weird.
http://0.0.0.0:9000/
-> Boots up my homepage without SSL support. So anything CORS fails. Once I try and click on a subdomain. It's a big fail.The text was updated successfully, but these errors were encountered: