宙星宠月 2023-11-23 10:59 采纳率: 60%
浏览 5

nginx静态部署的页面请求后台服务路径重复

nginx这样配置:

server {
       listen   80;
       server_name   www.123.com;


       location / {
           root  /usr/local/static/;
       }
}

访问http://www.123.com/index.html会正确转到/usr/local/static/index.html
但是在html页面中向后端发出请求路径为http://www.123.com:6789/post/select
会跳转到http://www.123.com/www.123.com:6789/post/select,多了一个www.123.com,导致找不到后端服务
这是为什么

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-23 12:13
    关注

    【以下回答由 GPT 生成】

    问题原因:

    这个问题是由于在html页面中发出的请求路径没有正确配置所导致的。在html页面中的请求路径应该是相对于当前页面的路径,而不是完整的url地址。

    解决办法:

    要解决这个问题,可以考虑以下几个步骤:

    1. 在nginx配置文件中添加一个新的location块,用于处理后端服务的请求: location /post/ { proxy_pass http://localhost:6789/; }

    这样,当请求的路径以/post/开头时,nginx会将请求代理到后端服务的地址,并去掉原有的路径前缀。

    1. 在html页面中的请求路径中去掉绝对路径部分,保留相对路径部分。 例如,将请求路径由http://www.123.com:6789/post/select改为/post/select

    如果使用jQuery或者其他框架发起ajax请求,可以使用/post/select作为请求路径。

    如果是纯粹的JavaScript,可以使用相对路径的方式发起请求,例如/post/select

    1. 重新部署nginx服务并重启。

    这样,当html页面中发起请求时,nginx会将请求代理到正确的后端服务中,解决了路径重复的问题。

    请注意,如果后端服务的地址或端口发生变化,需要相应地修改nginx配置文件和html页面中的请求路径。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月23日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111