Skip to content
This repository was archived by the owner on Apr 6, 2021. It is now read-only.

Use a different URL. #11

Open
BernardXiong opened this issue Feb 16, 2015 · 22 comments
Open

Use a different URL. #11

BernardXiong opened this issue Feb 16, 2015 · 22 comments

Comments

@BernardXiong
Copy link

Hi,
In C9, how can I use a different URL but http://localhost:8181/ide.html. I would like to use it as:
http://localhost:8181/c9/ide.html

Then I can setup the SDK environment together with Apache. Any settings? Thank you.

@javruben
Copy link

Check out this explanation for a way to have apache connect to cloud9 by proxying the url.
http://blog.viniciusprado.org/how-to-install-and-configure-cloud9-in-your-own-server/

@BernardXiong
Copy link
Author

Thank for your reply.
I have read your mentioned page. But I don't like the '/' root as the root of cloud9 and it's hard to create a new domain too. Any other way? Thank you so much.

@javruben
Copy link

I am not sure. You'd have to check the code. I'd welcome a patch for this.

@BernardXiong
Copy link
Author

OK, thank you. I will check the code later.

@ClashTheBunny
Copy link

Why not just rewrite?
For NGINX from here:

location /c9/ {
    rewrite ^/c9(/.*)$ $1 break;
    proxy_pass  http://127.0.0.1:8181/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect    off;
}

@balthild
Copy link

balthild commented Aug 5, 2015

same problem with me.

@nightwing nightwing mentioned this issue Aug 30, 2015
@nightwing
Copy link
Contributor

Simply using nginx rewrite might not work because client doesn't use relative urls.
https://github.com/c9/core/blob/master/settings/standalone.js
https://github.com/c9/core/blob/master/plugins/c9.vfs.standalone/standalone.js#L55
https://github.com/c9/core/blob/master/plugins/c9.static/cdn.js#L29 likely need to be modified to allow this

@dabura667
Copy link

I tried accomplishing this solely with apache settings...

No dice...

I almost got it by regexing the referer request header as a condition for rewriting to proxy and add the new base path...

Would be nice if this was supported out of box.

@abalter
Copy link

abalter commented Oct 4, 2017

Hello. This is a really important feature. I need to be able to run the editor on a shared hosting server where I do web development. I can't hog up port 80, and there are no other ports open (except 465).

@matthijsbreemans
Copy link

I would like to see this as well

@taemon1337
Copy link

taemon1337 commented Dec 13, 2017

I was able to get pretty close using node's 'express-http-proxy' like this:

app.use('/ide|/static|/configs|_ping|/vfs', proxy(IDE_URL, {
  proxyReqPathResolver: function (req) {
    let u = url.parse(req.originalUrl).path.replace('/ide', '')
    console.log('[IDE] ' + req.originalUrl + ' -> ' + IDE_URL + u)
    return u
  }
}))

This would load all the content correctly, however there were definitely issues and was unusable, lots of loading without ever working.

Would love to see this issue resolved!

@hvintik
Copy link

hvintik commented Feb 8, 2018

Hello,

Any news on when it will be fixed?

Thank you,

@abalter
Copy link

abalter commented Feb 8, 2018

@hvintik -- I don't think it's a matter of being "fixed." It's really a feature request, not a bug report.

However, I am interested in the same thing because I want to use c9 on shared hosting.

Here is another thread about it.

https://community.c9.io/t/run-cloud9-under-subdirectory/8152

I still haven't tried the subdomain technique.

Also look at these:

https://stackoverflow.com/questions/48635552/how-to-programmatically-communicate-with-apache

https://stackoverflow.com/questions/48673359/how-to-properly-return-http-response-from-python-requests-library-want-a-python

@mota57
Copy link

mota57 commented May 18, 2018

wow I had more than a day on this! :(

@Cesarot
Copy link

Cesarot commented May 21, 2018

I have the same issue , it would be nice that by the command:
node server.js -p 7000 -a : -w '/var/www/html' --listen 0.0.0.0 &
have a option for change the url of c9 server.

@genestealer
Copy link

Check out this explanation for a way to have apache connect to cloud9 by proxying the url.
http://blog.viniciusprado.org/how-to-install-and-configure-cloud9-in-your-own-server/

This is now: http://vncprado.github.io/how-to-install-and-configure-cloud9-in-your-own-server/

@genestealer
Copy link

I really want this, as my Apache proxy applies the SSL cert to all internal web pages, so I need to connect via https://mywebsite/somesubdirectory/ide.html

@jnoxon
Copy link

jnoxon commented Oct 6, 2018

This is a blocker for me, too. I need to run this behind an NGINX reverse proxy on a different path. Surprised to find it isn't possible.

@moppi79
Copy link

moppi79 commented Nov 7, 2018

this is nice IDE, at home i can use it
but from work i have only Comunicate over port 80 and i have 2 Systems, a Produktive system include a Proxy and Dev system with IDE.

it is very frustrating that i cannot a simple

ProxyPass /c9ide/ http://192.168.x.x:8181/
ProxyPassReverse /c9ide/ http://192.168.x.x:8181/

@mrfoxbit
Copy link

I have the same issue. How to run it behind an NGINX reverse proxy?

@daozhenpan
Copy link

daozhenpan commented Feb 21, 2019

I have tried to change some profiles and it does work in my cloud9.There are files which I have modyfied.I hope it will help someone.
为了满足 相对路径要求 需要的更改的源码内容
server端:变更带有特征的路由
###get/post请求路由规则 修改api.get规则
/c9sdk/plugins/c9.vfs.standalone/standalone.js
###第三方插件的静态文件响应 修改section
/c9sdk/plugins/c9.static/cdn.js
###cloud9自己的静态文件响应
/c9sdk/node_modules/connect-architect/connect.static/static-plugin.js
###响应"vfs"路径的请求
/c9sdk/plugins/c9.vfs.server/vfs.server.js

##client端的相对路径变更
###静态资源:dark.css(主题)文件请求路径
/c9sdk/plugins/c9.ide.layout.classic/preload.js
###静态资源:c9用到的第三方静态资源请求携带上下文
/c9sdk/settings/standalone.js
###静态资源:c9 自己的某些静态资源请求方式变更(for clear)
/c9sdk/plugins/c9.static/connect-static.js
###其余请求:vfs_update,_ping等请求发送使用相对路径
/c9sdk/plugins/c9.vfs.client/endpoint.js

##html页面
###欢迎页面:loading-flat.css 使用相对路径
/c9sdk/plugins/c9.ide.server/views/flat-load-screen.html
###欢迎页面:文件mini_require.js /require_config.js 使用相对路径
/c9sdk/plugins/c9.vfs.standalone/views/standalone.html.ejs

@StudioEtrange
Copy link

StudioEtrange commented Mar 29, 2021

/plugins/c9.static/connect-static.js

Hi @daozhenpan
Could you be more specific and tell us what changed you made in those files ?
thank you very much !

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests