nginx 地址80端口转发后ip地址自动添加代理的端口

忘是亡心i 2023-10-02 16:33 82阅读 0赞

一、环境场景 :

由于服务器80端口不对外开发,外网使用80端口映射服务器1880端口 ,导致web应用 重定向(redirect)后地址后自动填充了1880端口

错误nginx配置如下

  1. upstream pws01{
  2. server 127.0.0.1:10180 weight=1;
  3. server 127.0.0.1:10280 weight=1;
  4. server 127.0.0.1:10380 weight=1;
  5. server 172.16.33.1:10180 weight=1;
  6. server 172.16.33.1:10280 weight=1;
  7. server 172.16.33.1:10380 weight=1;
  8. }
  9. server {
  10. listen 1880;
  11. listen 4443 ssl;
  12. server_name www.test.cn ;
  13. # access_log /data/log/nginx/access.log main;
  14. error_log /data/log/nginx/error.log;
  15. ssl_certificate /.crt;
  16. ssl_certificate_key /.key;
  17. ssl_session_timeout 5m;
  18. ssl_session_cache shared:SSL:1m;
  19. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  20. ssl_ciphers HIGH:!aNULL:!MD5;
  21. ssl_prefer_server_ciphers on;
  22. proxy_redirect off;
  23. client_max_body_size 100m;
  24. client_body_buffer_size 128k;
  25. proxy_connect_timeout 1200;
  26. proxy_send_timeout 1200;
  27. proxy_read_timeout 1200;
  28. proxy_buffer_size 4k;
  29. proxy_buffers 32 4k;
  30. proxy_busy_buffers_size 64k;
  31. proxy_set_header Host $host:$server_port;
  32. proxy_set_header X-Real-IP $remote_addr;
  33. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  34. proxy_set_header ddURI $request_uri;
  35. proxy_set_header X-Forwarded-Scheme $scheme;
  36. location /webapp/ {
  37. proxy_pass http://pws01/;
  38. proxy_redirect http:// $scheme:// ;
  39. }
  40. }

解决问题

proxy_set_header Host $host:$server_port; 更改为

proxy_set_header Host $host:80; 直接写死80端口,不通过动态参数获取

正确配置文件

  1. upstream pws01{
  2. server 127.0.0.1:10180 weight=1;
  3. server 127.0.0.1:10280 weight=1;
  4. server 127.0.0.1:10380 weight=1;
  5. server 172.16.33.1:10180 weight=1;
  6. server 172.16.33.1:10280 weight=1;
  7. server 172.16.33.1:10380 weight=1;
  8. }
  9. server {
  10. listen 1880;
  11. listen 4443 ssl;
  12. server_name www.test.cn ;
  13. # access_log /data/log/nginx/access.log main;
  14. error_log /data/log/nginx/error.log;
  15. ssl_certificate /.crt;
  16. ssl_certificate_key /.key;
  17. ssl_session_timeout 5m;
  18. ssl_session_cache shared:SSL:1m;
  19. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  20. ssl_ciphers HIGH:!aNULL:!MD5;
  21. ssl_prefer_server_ciphers on;
  22. proxy_redirect off;
  23. client_max_body_size 100m;
  24. client_body_buffer_size 128k;
  25. proxy_connect_timeout 1200;
  26. proxy_send_timeout 1200;
  27. proxy_read_timeout 1200;
  28. proxy_buffer_size 4k;
  29. proxy_buffers 32 4k;
  30. proxy_busy_buffers_size 64k;
  31. proxy_set_header Host $host:80;
  32. proxy_set_header X-Real-IP $remote_addr;
  33. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  34. proxy_set_header ddURI $request_uri;
  35. proxy_set_header X-Forwarded-Scheme $scheme;
  36. location /webapp/ {
  37. proxy_pass http://pws01/;
  38. proxy_redirect http:// $scheme:// ;
  39. }
  40. }

发表评论

表情:
评论列表 (有 0 条评论,82人围观)

还没有评论,来说两句吧...

相关阅读