将位置添加到 nginx 中的 URL 路径
Nginx 配置:
server {
listen 443 ssl;
server_name xyx.com;
location /name/ {
rewrite /name/([^/]+) /users?name=$1 break;
proxy_pass http://127.0.0.1:80/;
}
}
如果只有 location /,上面的链接就可以正常工作,但是如果使用像上面 location /name/ 这样的任何其他路径,它就会失败。
我们希望在请求时位置路径成为 url 的一部分。
所有 xyz.com/name url(及相关)应将用户代理/重定向到 http://127.0.0.1: 80/name
尝试了 proxy_pass http://127.0.0.1$request_uri 和其他一些东西,包括重写,但它不起作用。
任何建议表示赞赏 - 谢谢。
Nginx config:
server {
listen 443 ssl;
server_name xyx.com;
location /name/ {
rewrite /name/([^/]+) /users?name=$1 break;
proxy_pass http://127.0.0.1:80/;
}
}
The above link works well if its just location / but with any other path like above location /name/ it fails.
We want the location path to be part of the url when requested.
All xyz.com/name url (and dependent) should proxy/redirect the users to http://127.0.0.1:80/name
Tried proxy_pass http://127.0.0.1$request_uri and other few stuff including rewrite and it didn't work.
Any suggestions appreciated - thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
example.com ===>我的客户项目
example.com/identity ===>我的身份项目
注意:有时您可能需要在项目中间件管道中定义原始 URL。就我而言,我配置身份服务器并生成网址。我必须在我的中间件管道中添加以下内容,以了解您的原始基本网址是 example.com/identity/,因此网址必须基于此基本网址生成。(.net core)
example.com ===> my client project
example.com/identity ===> my identity project
NOTE: some times you may have to define the original url in your project middleware pipeline. in my case i configure identity server and it generates urls. i have to add below in my middleware pipeline to understood it that your origin base url is example.com/identity/ so the urls must generate base on this base url.(.net core)