如何连接IBM HTTP服务器作为反向代理与Artifactory?

Vignesh Surendrababu
2022-12-25火灾

什么是IHS ?

IBM HTTP Server (IHS)是一个基于web服务的web服务器Apache HTTP服务器除了IBM增强之外,还提供了一组Apache特性。

产品说明:

打开Artifactory UI并导航到管理员选项卡->配置-> HTTP设置页面,将“反向代理设置”设置为“Apache”,然后单击保存。

由于IHS类似于Apache HTTP Server,我们可以使用Artifactory生成的反向代理配置,并根据IHS配置配置文件中的模块/参数。

步骤1:安装IBM HTTP Server,在/ opt / IBM / HTTPServer / conf / httpd . conf

步骤2:放置监听端口80 (http)的示例模板配置,并在配置文件中加载必要的模块
模块:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

配置:###########################################################
这个配置是由JFrog Artifactory生成的
###########################################################
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
听80
< VirtualHost *: 80 >
ProxyPreserveHost上

ServerName< servername >
ServerAlias *。< servername >
服务器server@admin

##应用程序特定的日志
ErrorLog /var/log/apache/< servername >-error.log
CustomLog /var/log/apache/< servername >-access.log相结合
AllowEncodedSlashes上
RewriteEngine上

RewriteCond %{SERVER_PORT} (.*)
RewriteRule (.*) - [E=my_server_port:%1]
##注意:'REQUEST_SCHEME'报头仅在apache 2.4及以上版本支持
重写%{REQUEST_SCHEME} (.*)
RewriteRule (.*) - [E=my_scheme:%1]

重写%{HTTP_HOST} (.*)
RewriteRule (.*) - [E=my_custom_host:%1]

RewriteRule”^ / (v2 )/(.*)$" "/ artifactory / 1 / 2美元”[P]


RewriteRule ^/$ /artifactory/webapp/ [R,L]
RewriteRule ^ / artifactory (/) ?$ /artifactory/webapp/ [R,L]
RewriteRule ^/artifactory/webapp$ /artifactory/webapp/ [R,L]

RequestHeader设置主机%{my_custom_host}e
设置x - forward - port %{my_server_port}e
##注意:{my_scheme}需要一个只有apache 2.4及以上版本支持的模块
请求头设置X-Forwarded-Proto %{my_scheme}e
RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e://< servername >: % {my_server_port} e / artifactory
ProxyPassReverseCookiePath /artifactory /artifactory

ProxyRequests掉
ProxyPreserveHost上
ProxyPass /artifactory/ http://<服务器ip >/ artifactory
ProxyPassReverse /artifactory/ http://<服务器ip >/ artifactory
< /虚拟主机>

如何重写HTTP(80)请求到HTTPS(443)?

重写模块可用于自动将所有HTTP请求重写为HTTPS。
为了进行安全通信,SSLEnable将为VirtualHost启用SSL,而SSLDisable将在VirtualHost外部禁用SSL

步骤1:在配置文件中加载SSL模块

模块:LoadModule ibm_ssl_module modules/mod_ibm_ssl.so

步骤2:提供在启用SSL的虚拟主机下使用ikeyman生成的KeyFile位置密钥文件/ opt / IBM / HTTPServer / conf / ihsserverkey.kdb
KeyFile指向密钥数据库文件,该文件包含浏览器在SSL握手期间所需的个人服务器证书

步骤3:将示例模板放在侦听443的配置文件中

配置:LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
听443
< VirtualHost *: 443 >

ProxyPreserveHost上

ServerName< servername >
ServerAlias *。< servername >
服务器server@admin

SSLEnable
SSLProxyEngine上
密钥文件/ opt / IBM / HTTPServer / conf / ihsserverkey.kdb

##应用程序特定的日志
ErrorLog /var/log/apache/< servername >-error.log
CustomLog /var/log/apache/< servername >-access.log相结合

AllowEncodedSlashes上
RewriteEngine上

RewriteCond %{SERVER_PORT} (.*)
RewriteRule (.*) - [E=my_server_port:%1]
##注意:'REQUEST_SCHEME'报头仅在apache 2.4及以上版本支持
重写%{REQUEST_SCHEME} (.*)
RewriteRule (.*) - [E=my_scheme:%1]

重写%{HTTP_HOST} (.*)
RewriteRule (.*) - [E=my_custom_host:%1]

RewriteRule”^ / (v2 )/(.*)$" "/ artifactory / 1 / 2美元”[P]


RewriteRule ^/$ /artifactory/webapp/ [R,L]
RewriteRule ^ / artifactory (/) ?$ /artifactory/webapp/ [R,L]
RewriteRule ^/artifactory/webapp$ /artifactory/webapp/ [R,L]

RequestHeader设置主机%{my_custom_host}e
设置x - forward - port %{my_server_port}e
##注意:{my_scheme}需要一个只有apache 2.4及以上版本支持的模块
请求头设置X-Forwarded-Proto %{my_scheme}e
RequestHeader set X-Artifactory-Override-Base-Url %{my_scheme}e://< servername >: % {my_server_port} e / artifactory
ProxyPassReverseCookiePath /artifactory /artifactory

ProxyRequests掉
ProxyPreserveHost上
ProxyPass /artifactory/ http://<服务器ip >/ artifactory
ProxyPassReverse /artifactory/ http://<服务器ip >/ artifactory
< /虚拟主机>
SSLDisable