nginx - nginx url重写而不重定向
问题描述
我正在尝试在 nginx 中配置反向代理。
http://apps.domain.example.com/abcadmin -> http://server1.exampl.com:8080/xyzadmin
因此,当我点击 URL 时,http://apps.domain.example.com/abcadmin
我应该能够在http://server1.exampl.com:8080/xyzadmin
没有 URL 重定向的情况下查看内容。
我尝试如下配置服务器。但我没有得到预期的结果
upstream exe-al-server-up {
server exe-ser-ab.rds-dev:8080;
}
server {
server_name apps.domain.example.com;
proxy_pass_header Authorization;
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_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
location /abcadmin/ {
rewrite ^/xyzadmin(.*) /$1 break;
proxy_pass http://imp-al-ra-up/xyzadmin/;
}
}
解决方案
您可以尝试更改重写规则。
upstream exe-al-server-up {
server exe-ser-ab.rds-dev:8080;
}
server {
server_name apps.domain.example.com;
proxy_pass_header Authorization;
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_http_version 1.1;
proxy_set_header Connection "";
proxy_buffering off;
client_max_body_size 0;
proxy_read_timeout 36000s;
proxy_redirect off;
location /abcadmin/ {
rewrite ^/abcadmin(.*) /$1 break;
proxy_pass http://imp-al-ra-up/xyzadmin/;
}
}
推荐阅读
- django - Django 迁移修改继承的默认值
- http - 无法读取整个响应正文
- php - 缺少身份验证中间件的经过身份验证的用户的功能测试
- database - 如何将数据库从服务器复制到本地主机
- laravel - CARBON 使用工作日数获取日期范围之间的所有日期
- python - 如何创建 2 个相同的对象列表以及如何让操作同时影响两个列表?
- javascript - 尝试使用节点加密/密码加密文件时密钥长度无效
- bash - 我对 BASH 脚本非常陌生,如何在文件中保留关键字命中 (grep) 的运行总数(计数),然后最后显示总数?
- html - 为什么我在使用 Webpack 通过终端启动以编译 SCSS 时收到错误“字段浏览器不包含有效的别名配置”?
- javascript - 为不和谐服务器中的所有成员命名