出现问题的页面的URL是什么?
无
你的user agent是什么?
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
你做了什么?
当我在远程Visual Studio Code终端中本地运行pkgsite -open .
时,会启动一个代理。https://coder.com/docs/code-server/latest/guide#stripping-proxyport-from-the-request-path
这通常意味着主页面将位于https://${hostname}/proxy/8080/,而static
目录将在路径/proxy/8080/static/
下。然而,似乎该网站总是试图在/static
下找到它们,而且没有明显的方法可以更改这一点。
你看到了什么发生?
所有静态CSS和图片都无法加载。
你期望看到什么?
所有静态CSS和图片都能加载。
7条答案
按热度按时间jgwigjjp1#
这个Visual Studio Code功能在哪里有文档记录?
gkl3eglg2#
这个Visual Studio Code功能在哪里有文档记录?
@seankhliao 我更新了标题和描述。看起来这个问题与使用
code-server
有关。使用codespaces
或openvscode-server
也可能会引发类似的问题,但我不确定。看起来
feature
是问题出现的地方。https://coder.com/docs/code-server/latest/guide#stripping-proxyport-from-the-request-path
从请求路径中去除
/proxy/<port>
你可能会注意到
code-server
代理会从请求路径中去除/proxy/<port>
。HTTP服务器应使用相对URL以避免需要与它们被提供的绝对路径绑定在一起。这意味着你必须去掉 use trailing slashes on all paths with subpaths 。
这就是为什么默认行为是去除基本路径中的
/proxy/<port>
的原因。如果你的应用程序使用相对URL且不假设它正在被提供的基本路径,那么无论你决定将其放在哪个端口上,或者将其放在 code-server 或其他代理后面,它都将正常工作。然而,有些人更喜欢没有尾部斜杠的更干净的外观。省略尾部斜杠将你与基本路径绑定在一起,因为你无法正确使用相对重定向。如果你不介意这种权衡,可以使用
/absproxy
,并将路径原样传递(例如,/absproxy/3000/my-app-path
)。8ehkhllq3#
听起来你应该直接使用
/absproxy
?jjjwad0x4#
听起来你应该直接使用
/absproxy
?不,这没有区别。我非常确定这只防止了
code-server
修改请求并剥离代理路径。我认为问题在于
pkgsite
没有使用相对路径。例如:https://github.com/golang/pkgsite/blob/6631f5443b15cc3c38d20c33131ac82c8e192ef7/static/frontend/frontend.tmpl#L56
这个路径不起作用,因为它实际上位于
/proxy/8080/static/
和/absproxy/8080/static/
ru9i0ody5#
cc/ @jmcshane
olhwl3o26#
CC @matloob
vzgqcmou7#
我不知道如果我们做出这样的改变,对于pkg.go.dev会有什么影响。似乎我们需要在很多地方更新路径。