• 解决nginx反向代理web service的soap:address location问题


    原webservice是部署在tomcat上,使用的http协议端口是80,基于安全原因,需要升级使用https,使用了简单的方式在最外层加nginx做反向代理,业务调用webservice接口通过nginx再去访问。nginx需要开启SSL配置证书。

    现在发现一个问题是打开WSDL地址中soap:address location是一直是HTTP非HTTPS地址,这样会导致我们通过代理https调用接口会出现报错。301 Moved Permanently。考虑使用nginx的sub_filter模块来替换其中http为http

    nginx具体配置如下

    1. upstream webservcesgroup{
    2. server 192.168.31.100 weight=8;
    3. server 192.168.31.199 weight=2;
    4. }
    5. server {
    6. listen 443 ssl;
    7. server_name gmaaa.163.com;
    8. root html;
    9. index index.html index.htm;
    10. ssl_certificate C:/nginx/cert/server.crt;
    11. ssl_certificate_key C:/nginx/cert/server.key;
    12. ssl_session_timeout 30m;
    13. # intermediate configuration
    14. ssl_protocols TLSv1.2 TLSv1.3;
    15. ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
    16. ssl_prefer_server_ciphers off;
    17. client_max_body_size 100m;
    18. # To resolve nginx 504 issue
    19. proxy_connect_timeout 600;
    20. proxy_send_timeout 600;
    21. proxy_read_timeout 600;
    22. # webservice
    23. location /axis2/services/ {
    24. # replace WDSL address location
    25. sub_filter http://gmaaa.163.com "https://gmaaa.163.com";
    26. # replace all
    27. sub_filter_once off;
    28. sub_filter_types text/xml;
    29. proxy_set_header X-Forwarded-Proto $scheme;
    30. proxy_set_header Accept-Encoding '';
    31. proxy_set_header Host $host;
    32. proxy_set_header X-Forwarded-For $remote_addr;
    33. proxy_pass http://webservcesgroup;
    34. access_log logs/webservice-access-$logdate.log;
    35. }
    36. }

    修改后重启Nginx

    下面是访问后的截图

    大功告成!

  • 相关阅读:
    性能测试:springboot-2.x vs actix-web-4.x benchmark
    flask 支付宝的使用
    Selenium元素定位之页面检测技巧
    Day4:写前端项目(html+css+js)
    【Mysql】Mysql获取排班时间段中的休息时间段方法
    进程-线程-协程
    分析初识vue小案例
    (BMS)电池管理系统技术研究与仿真
    基于云边协同架构的五大应用场景革新
    代码学习记录48---单调栈
  • 原文地址:https://blog.csdn.net/gmaaa123/article/details/133702306