+

Search Tips | Advanced Search

Scenario: Apache rewrite

In this scenario, we can use the rewrite directive to convert an HTTP request into an internal Apache proxy redirect.

The proxy and rewrite modules must be loaded, but as Apache is not really working in proxy mode, all proxy directives can remain commented out.


Before you begin


About this task

Figure 1. Apache rewrite network diagram

This diagram shows the connection from the IBM MQ client (called client1.company1.com on port 1415) through MQIPT, Caching Proxy, Apache, MQIPT, and finally to the IBM MQ server (called server1.company2.com on port 1414).


Procedure

To use the rewrite directive, complete the following steps:

  1. On On WTE: Edit C:\cp\etc\en_US\ibmproxy.conf and change the following properties:
    ProxyPersistence ON
    MaxPersistRequest  5000
  2. On Apache: Edit C:\apache\conf\httpd.conf:
    RewriteEngine on
    RewriteLog logs/rewrite.log
    RewriteLogLevel 9
    RewriteRule ^/mqipt  http://%{HTTP:Host}/mqipt  [P]
    
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule negotiation_module modules/mod_negotiation.so
    LoadModule rewrite_module modules/mod_rewrite.so
    
    start Apache
  3. On MQIPT1:
    1. Edit mqipt.conf and add a route definition:
      [route]
      ListenerPort=1415
      Destination=10.100.20.3
      DestinationPort=1415
      HTTP=true
      HTTPProxy=10.9.1.3
      HTTPProxyPort=80
      HTTPServer=10.100.6.7
      HTTPServerPort=8080
    2. Open a command prompt and start MQIPT:
      C:\mqipt\bin\mqipt C:\mqiptHome
      where C:\mqiptHome indicates the location of the MQIPT configuration file, mqipt.conf.The following message indicates successful completion:
      5639-L92 (C) Copyright IBM Corp. 2000, 2017 All Rights Reserved
      MQCPI001 IBM MQ Internet Pass-Thru Version 2.1.0.0 starting
      MQCPI004 Reading configuration information from C:\mqiptHome\mqipt.conf
      MQCPI011 The path C:\mqiptHome\logs will be used to store the log files
      MQCPI006 Route 1415 has started and will forward messages to :
      MQCPI034 ....server1.company2.com(1414)
      MQCPI035 ....using HTTP
      MQCPI024 ....and HTTP proxy at 10.9.1.3(80)
      MQCPI066 ....and HTTP server at 10.100.6.7(8080)
      MQCPI078 Route 1415 ready for connection requests
  4. On MQIPT2:
    1. Edit mqipt.conf and add a route definition:
      [route]
      ListenerPort=1415
      Destination=server1.company2.com
      DestinationPort=1414
    2. Open a command prompt and start MQIPT:
      C:
      cd \mqipt\bin
      mqipt ..
      (.. indicates that the MQIPT configuration file, mqipt.conf, is in the parent directory.) The following message indicates successful completion:
      5639-L92 (C) Copyright IBM Corp. 2000, 2017 All Rights Reserved
      MQCPI001 IBM MQ Internet Pass-Thru Version 2.1.0.0 starting
      MQCPI004 Reading configuration information from C:\mqipt\mqipt.conf
      MQCPI011 The path C:\mqipt\logs will be used to store the log files
      MQCPI006 Route 1415 has started and will forward messages to :
      MQCPI034 ....server1.company2.com(1414)
      MQCPI035 ....using MQ protocols
      MQCPI078 Route 1415 ready for connection requests
  5. At a command prompt on the IBM MQ client, enter the following commands:
    1. Set the MQSERVER environment variable:
      SET MQSERVER=MQIPT.CONN.CHANNEL/tcp/10.9.1.2(1415)
    2. Put a message:
      amqsputc MQIPT.LOCAL.QUEUE MQIPT.QM1
      Hello world
      Press Enter twice after typing the message string.
    3. Get the message:
      amqsgetc MQIPT.LOCAL.QUEUE MQIPT.QM1
      The message, "Hello world" is returned.