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
Nginx反代如何设置location路径 #1129
Comments
对的,要下载源码然后自己改好后编译和构建,我可以先改下试试行不行 |
我刚刚看了一下我这本地的日志,除了/api开头的,还有/static开头的请求,那个应该在哪里修改,我没找到 |
我对go 前端和nginx都不熟悉,不是搞这个的。我想起来我之前做学校课设的骚操作:我偷懒拿我师兄的课设,由于他的包名和类名都有他的学号,于是我用批量重命名和文件批量查找和替换把他的学号和名字换成我的,程序也能跑。 |
这样是可以的,理论上只要提一个全局的变量来甚至可以搞出来一个配置项啥的 |
我自己先试试 能行告诉你 |
|
参考 https://docs.cloudreve.org/getting-started/build 先啥都不要改能跑起来,我用的ide goland,然后批量查找替换,思路是这样。 |
试过改 |
试过,没有用,页面加载之后的http请求和没修改时一样。 |
我是在ubuntu服务器上跑本地,然后过nginx反代来在外部访问。我先编译源码版试试 |
|
我这里已经编译好一份前端文件了我现在就试试 |
前段文件里大概也有要改的部分,就引用了哪些static的部分,那个靠关键词感觉容易漏
…---原始邮件---
发件人: ***@***.***>
发送时间: 2022年2月8日(周二) 晚上6:07
收件人: ***@***.***>;
抄送: ***@***.******@***.***>;
主题: Re: [cloudreve/Cloudreve] Nginx反代如何设置location路径 (Issue #1129)
我这里已经编译好一份前端文件了我现在就试试
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
在 还需补充一点: 前端的上传组件也是绝对路径引入,具体可修改 https://github.com/cloudreve/frontend/blob/b90a49ba5d809e3042bce801ac28fb7cde74c878/src/loader/index.js#L90-L96 |
我推荐的简单方法为:再直接反代
|
部署于 |
你的意思是整个cloudreve的前端后端和nginx都用443端口吗,没有5212吗? |
不是不是,是cloudreve本地监听 |
我尝试完毕了 觉得很麻烦。 这种问题我已经解决了 你可以看到我上面的截图这些api都返回200 是正确的。 我的方法是(我用的apache2)反代是这么写的:
我将编译好的前端文件直接放在/var/www/html/cloud内,这样访问http://pan.c34.pw/cloud的时候就能直接访问前端文件,没有反代。前端代码稍微修改了一下,在 package.json 中加一条 homepage ,让前端能够正常显示。 我也想过这么写反代
貌似是反代写的有问题,按道理这种方法应该是可以的 |
可以发出 URL 让我看一下吗 |
我也尝试了一下,反代的情况下,加上homepage的同时,对编译后的assert中所有/api开头的都修改,但是也会到和你同样的报错,也是那个themes不能加载。我猜可能还有什么地方需要调整
…---原始邮件---
发件人: ***@***.***>
发送时间: 2022年2月8日(周二) 晚上11:11
收件人: ***@***.***>;
抄送: ***@***.******@***.***>;
主题: Re: [cloudreve/Cloudreve] Nginx反代如何设置location路径 (Issue #1129)
我尝试完毕了 觉得很麻烦。
虽然这里所有响应都是200了,但是前端的路由所有都得改
这种问题我已经解决了 你可以看到我上面的截图这些api都返回200 是正确的。
比如说 能够读取正确的站点配置
我的方法是(我用的apache2)反代是这么写的:
<virtualhost *:80> ServerName pan.c34.pw <proxy> Order deny,allow Allow from all </proxy> ProxyRequests Off ProxyPreserveHost On AllowEncodedSlashes On ProxyPass /api http://127.0.0.1:5212/api/ nocanon ProxyPassReverse /api http://127.0.0.1:5212/api/ </virtualhost>
我将编译好的前端文件直接放在/var/www/html/cloud内,这样访问http://pan.c34.pw/cloud的时候就能直接访问前端文件,没有反代。前端代码稍微修改了一下,在 package.json 中加一条 homepage ,让前端能够正常显示。
当点击左上角的登录按钮的时候,url会变成http://pan.c34.pw/login,而不是http://pan.c34.pw/cloud/login。而直接访问http://pan.c34.pw/cloud/login会404,这就说明还有很多地方要改代码,不是反代能解决的。
api我解决了,静态资源我也解决了,但是还是不行。
我也想过这么写反代
ProxyPass /cloud http://127.0.0.1:5212/
并且把前端文件中的baseurl改为/cloud/api/v3,这样前端请求的api地址就会变成`http://pan.c34.pw/cloud/api/v3。我编译好前端后放在二进制文件同级目录下,这样就可以使用我自定义的前端
但是出现了这样的错误
直接访问http://pan.c34.pw/cloud/api/v3/site/config 显示也是一样的
貌似是反代写的有问题,按道理这种方法应该是可以的
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Reply @JoJoBizarreAdventure :
这里是后端收到的请求路径为 |
|
我这边的网址是这个
|
Reply to @JoJoBizarreAdventure :
这里需要在 https://github.com/cloudreve/frontend/blob/b90a49ba5d809e3042bce801ac28fb7cde74c878/src/index.js#L37 处更改为
|
这个问题是反代写的不对 应该写为 现在不会报读取不到配置了 会自动跳转到登陆界面 但是url是http://pan.c34.pw/login 而不是http://pan.c34.pw/cloud/login |
好的 我试试 |
这个你看我上一条回复 |
另外请 @lsCoding666 @JoJoBizarreAdventure 将静态文件存放为
程序会默认读取自带的静态文件,但程序检测到 |
|
|
|
这个是 反代的原因 |
我尝试了一下,修正反代,包括修改那个index.js,最后结果勉强能登陆,但是Router还是有问题。在经历一两次跳转和上传下载文件后就突然404了。 |
终于发现有人跟我一样的问题了,还以为是我自己的配置的问题呢。感觉这个需求挺常见的,捣鼓了半天没弄出来就放弃了。 |
想要二级目录,但文件太多了,都不知道要修改那个文件,像这个Vue就可以更改html指定文件路径https://cli.vuejs.org/config/#publicpath |
这个需求感觉还是很有必要的!特别是只想一个nginx代理多个服务! |
有个全局配置会简单很多 |
这个目前解决了吗 |
nginx server_name字段不好用吗 |
2024了,还没解决方案吗? |
原来不止我在挣扎,挣扎过了,放弃修改 |
Is your feature request related to a problem? Please describe.
问题的情景是这样的,cloudreve在本地
http://127.0.0.1:5212
上运行,我想通过https来进行访问(不单独设置另外端口,就使用443的情况下)如果设置nginx反代的时候,location指定的路径不选择
/
而是选择/cloud
,请问应该如何进行设置才能正常加载。我的写法大致如下
我尝试了通过rewrite去去除url中多余的部分,这样可以正常的获取到200,但是其他资源以及api类的请求都是默认在
/
路径下的Describe the solution you'd like
请问要如何修改nginx配置才能正常访问?
还是cloudreve本身有修改base url的方式吗?
The text was updated successfully, but these errors were encountered: