使用nginx反向代理之后,使用request.getRequestURL()引入的路径无法访问的解决方法

在上图收到的邮件链接地址是通过 request.getRequestURL().toString()得到的,如果没有使用nginx转发是可以正常访问该路径的;

但是使用了nginx就需要在nginx config文件中添加下图4条配置,否则request.getRequestURL()获取到的值不是能正确访问的路径而是nginx配置的代理值,是无法访问的

proxy_redirect off;
proxy_set_header Host $http_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  $scheme; 

可参考:(73条消息) 使用Nginx代理https到Tomcat,后端request.getRequestURL()获取不到https开头的链接_rivercoder的博客-CSDN博客

如果还不行修改成以下 试试:

               proxy_set_header Host $http_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 $scheme;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
您可以使用Nginx作为反向代理,将请求转发到Harbor的后端,并通过启用HTTPS来安全访问Harbor。以下是一个示例配置: 首先,确保您已经安装了Nginx,并且已经生成了有效的SSL证书。 1. 打开Nginx的配置文件(通常在`/etc/nginx/nginx.conf`或`/etc/nginx/conf.d/default.conf`)。 2. 在`http`块中添加以下配置,用于设置反向代理和HTTPS访问: ``` server { listen 80; server_name your_domain.com; location / { proxy_pass http://harbor_backend_ip:harbor_backend_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 443 ssl; server_name your_domain.com; ssl_certificate /path/to/ssl_certificate.crt; ssl_certificate_key /path/to/ssl_certificate.key; location / { proxy_pass http://harbor_backend_ip:harbor_backend_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 请确保将`your_domain.com`替换为您的域名,并将`harbor_backend_ip`和`harbor_backend_port`替换为Harbor后端实际的IP地址和端口。 3. 将您的SSL证书和私钥文件路径替换为正确的路径。 4. 保存并关闭配置文件。 5. 重新加载Nginx配置以使更改生效: ``` sudo systemctl reload nginx ``` 现在,您应该能够通过`https://your_domain.com`访问Harbor,并且Nginx会将请求代理到Harbor后端。请确保在防火墙中打开相应的端口(80和443)以允许流量通过。 希望这可以帮助到您!如有任何问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事不堪回首..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值