0%

linux下配置apache-weblogic负载均衡+https

加载所需要的模块(httpd.conf文件中)

  • 所需模块清单

      LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so 
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
      LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
      LoadModule proxy_http_module modules/mod_proxy_http.so
      LoadModule rewrite_module modules/mod_rewrite.so
      LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 
      LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
      #ssl模块
      LoadModule ssl_module modules/mod_ssl.so
      #weblogic模块
      LoadModule weblogic_module modules/mod_wl_24.so
    

apache-weblogic负载均衡(httpd.conf文件中)

  • 在LoadModule weblogic_module modules/mod_wl_24.so下方添加以下配置即可:

       <IfModule mod_weblogic.c>
            ###多台weblogic改成相应的ip即可,这里用两个相同的服务器地址暂代。
            WeblogicCluster 10.211.55.3:7001,10.211.55.3:7001
      
            MatchExpression *
      
            #WLLogFile "/home/ux/Desktop/apache2.log"
      
            #Debug On
      
            #DebugConfigInfo On
      
            KeepAliveEnabled On
      
            KeepAliveSecs 15
      
         </IfModule>
         
         注:注释掉的视情况开启。
    

引入SSL配置文件(httpd.conf文件中)

  • 引入httpd-ssl.conf

      找到:
      # Secure (SSL/TLS) connections 
      #Include conf/extra/httpd-ssl.conf
      改为:
      # Secure (SSL/TLS) connections 
      Include conf/extra/httpd-ssl.conf
    

自动跳转https(httpd.conf文件中)

  • http自动跳转https

          找到ServerName,将Rewrite规则写在其下面即可:
    
          ######
          ServerName www.aa.com:80
          RewriteEngine on
          RewriteCond %{SERVER_PORT} !^443$
          RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R=301]    
    

修改httpd-ssl.conf文件

  • 修改ServerName

      找到:
      <VirtualHost _default_:443>
      
      将ServerName改为自己的域名,例如:    
      ServerName www.aa.com:443
      
      
    
  • 配置证书

      打开httpd-ssl.conf看到,
      SSLCertificateFile "/usr/local/apache2/conf/server.crt"
      SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"
      #SSLCACertificateFile "/usr/local/apache2/conf/ssl.crt/ca-bundle.crt"
      
      前两个已经默认被加载,后一个需要我们手动加载,去掉注释即可。
      
      
    
  • 所需模块文件获取方式(注:实验机器为centos7 64位)

      mod_ssl.so:
      
      sudo yum install -y mod_ssl
      
      安装完成后我们可以看到mod_ssl的配置文件/etc/httpd/modules/下找到mod_ssl.so文件
      
      mod_wl_24.so:
      百度下载的....
      
      文件包:
      链接:http://pan.baidu.com/s/1gfxo77P  密码:cy47
      
    
  • 参考链接

    http://blog.csdn.net/qq229596421/article/details/51789872

负载均衡其他配置方式

  • URL分发

      <IfModule mod_weblogic.c>
    WebLogicCluster johndoe02:8005,johndoe:8006
    调试打开
    WLLogFile c:/tmp/global_proxy.log 
    WLTempDir“c:/ myTemp”
    DebugConfigInfo On
    KeepAliveEnabled打开
    KeepAliveSecs 15
    

    </ IfModule>配置

    <Location / jurl>

    SetHandler weblogic-handler
    WebLogicCluster agarwalp01:7001
    

    </位置>

    <Location / web>

    SetHandler weblogic-handler
    PathTrim /web
    调试关闭
    WLLogFile c:/tmp/web_log.log
    

    </位置>

    <Location / foo>

    SetHandler weblogic-handler
    PathTrim /foo
    调试错误
    WLLogFile c:/tmp/foo_proxy.log
    

    </位置>

    所有匹配/ jurl / *的请求都将调试级别设置为ALL,并且日志消息将被记录到c:/tmp/global_proxy.log文件中。
    所有匹配/ web / *的请求都将设置为“关闭”调试级别,并且不会记录日志消息。
    所有匹配/ foo / *的请求都将调试级别设置为ERR,并且日志消息将被记录到c:/tmp/foo_proxy.log文件中。

    Oracle建议您使用该MatchExpression语句而不是块。

https下让浏览器自动将HTTP资源升级为HTTPS

  • 在apache的httpd.conf中添加如下配置

      找到加载模块代码,并去掉注释:
      LoadModule headers_module modules/mod_headers.so
      
      搜索
      <IfModule headers_module>
      
      将
      <IfModule headers_module>
          #
          # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
          # backend servers which have lingering "httpoxy" defects.
          # 'Proxy' request header is undefined by the IETF, not listed by IANA
          #
          RequestHeader unset Proxy early
      
      </IfModule>
      
      改为
      
      <IfModule headers_module>
          #
          # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied
          # backend servers which have lingering "httpoxy" defects.
          # 'Proxy' request header is undefined by the IETF, not listed by IANA
          #
          RequestHeader unset Proxy early
      
          Header set Content-Security-Policy "upgrade-insecure-requests"
      </IfModule>
      
    
  • 参考链接

    https://www.cnblogs.com/hustskyking/p/upgrade-insecure-requests.html
    http://httpd.apache.org/docs/current/mod/mod_headers.html

  • apache完整包

      链接:https://pan.baidu.com/s/1mizN7Uo  密码:c4p2