在nginx反向代理上的应用redirect错误【JAVA教程】

!
也想出现在这里? 联系我们
信息

在nginx反向代理上的应用redirect错误,第1张

概述在nginx反向代理上的应用redirect错误

我正在运行一个Nginx(0.7.67)作为反向代理和一个golang应用程序。 Nginx服务器configuration如下:

… location /bar/ { proxy_pass http://localhost:8088/; proxy_redirect off; 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; } …

我的golang应用程序的来源(这是没有道理的,只是一个例子):

func root(w http.ResponseWriter,r *http.Request) { fmt.Fprint(w,\”You reached root\”) } func foo(w http.ResponseWriter,r *http.Request) { http.Redirect(w,r,\”/\”,http.StatusFound) } func main() { http.HandleFunc(\”/\”,root) http.HandleFunc(\”/foo\”,foo) http.ListenAndServe(\”localhost:8088\”,nil) }

问题:当我将浏览器指向我的应用程序的URL( https://domain.tld/bar/ )时,我可以看到文本“您到达根目录”。 但是,如果我尝试打开https://domain.tld/bar/foo ,我将redirect到https://domain.tld而不是https://domain.tld/bar 。 看来我的应用程序正在redirect到Nginx服务器的根,而不是应用程序。

问题:如何从应用程序的内部(运行在Nginx反向代理之后)redirect到我的应用程序的根目录,而不是服务器的根目录?

主进程从systemd启动时不能分离subprocess

确定当前进程在WOW64中运行还是不在Go中

我需要使用Nginx还是Apache来使用Lets Encrypt?

计算Go中的文件的硬链接

为什么“pstack”只打印一个线程的内容?

与PHP应用程序一起部署Go应用程序有哪些select?

在Golang中读取文件时如何跳过文件系统caching?

在一个IP上托pipe多个Golang站点并根据域请求提供服务?

Goroutines 8kb和windows *** 作系统线程1 mb

在Apache mod_proxy_wstunnel后面使用go-websocket

这是一个无法用任何语言自动解决的问题,甚至PHP。 像wordpress这样的应用程序有一个设置来指定根。 有些应用程序需要一个完整的URL( https://domain.tld/bar )或者只能有一个路径(/ bar)。

无论哪种方式,您需要创建一个设置,然后手动配置所有重定向从那里基础。 你可以创建你自己的重定向功能,所以你不需要每次重定向时都实现它。

总结

以上是内存溢出为你收集整理的在nginx反向代理上的应用redirect错误全部内容,希望文章能够帮你解决在nginx反向代理上的应用redirect错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞55 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容