The examples in this chapter use the Apache web server as the proxy software. Activate the Apache web server by enabling the svc:/network/http:apache24 service. See Apache HTTP Server Version 2.4 Documentation for additional information.
You should be able to apply the principles shown in these examples to any proxy server software.
The Oracle Solaris 11.4 OS includes the Apache web server in the web/server/apache-24 package, which delivers a basic httpd.conf file in /etc/apache2/2.4. In general, you can use the following command to locate the httpd.conf file:
$ pkg search -Hl -o path ':file:path:*httpd.conf' etc/apache2/2.4/httpd.conf etc/apache2/2.4/original/httpd.conf
Not all Apache modules are loaded by default. Some settings described in this manual require you to load the appropriate module. The httpd.conf file includes many LoadModule directives that are commented out, so you can just uncomment the lines you need. For example, to set AddOutputFilterByType DEFLATE, as shown below, uncomment the following line in httpd.conf:
#LoadModule deflate_module libexec/mod_deflate.so
If you run the package depot server behind an Apache web server instance, include the following setting in your httpd.conf file to not decode encoded forward slashes:
Package names can contain URL encoded forward slashes because forward slashes are used to express hierarchical package names. For example, the package name pkg://solaris/developer/build/make becomes http://pkg.oracle.com/solaris/release/manifest/0/developer%2Fbuild%2Fmake to the web server. To prevent these forward slashes from being interpreted as directory delimiters, instruct Apache not to decode the %2F encoded slashes.
The following settings affect performance and security.
HTTP clients can tell the server that they accept compressed data in an HTTP request. Enabling the Apache DEFLATE filter can dramatically reduce the over-the-wire size of metadata such as catalogs and manifests. Metadata such as catalogs and manifests often compress 90%.
Increase the MaxKeepAliveRequests value to allow clients to make a larger number of pipelined requests without closing the connection.
The proxy timeout sets how long Apache waits for the back-end depot to respond. For most operations, 30 seconds is satisfactory. Searches with a very large number of results can take significantly longer. You might want a higher timeout value to accommodate such searches.
Make sure that forward proxying is disabled.