通配符域名的反向代理 - Apache Linux

通配符域名的反向代理 - Apache Linux

我正在尝试为通配符域设置反向代理,但是登录应用程序后我的配置无法正常工作。

该服务器正在运行 Apache 又名 httpd 服务,端口为 80、443。

frafahadooappd5.de.cd.com

域名映射到其他 IP 地址,如下所示,

 [dladmin@frasasdlappd2 ~]$ nslookup *.dev.cdsw.abc.intranet.cd.com --> wildcard webdomain
Server:         10.255.252.1
Address:        10.255.252.1#53

Non-authoritative answer:
*.dev.cdsw.abc.intranet.cd.com  canonical name = sdl-cdsw-dev.de.cd.com.
sdl-cdsw-dev.de.db.com  canonical name = frasasdlappd2.de.cd.com.
Name:   frasasdlappd2.de.cd.com
Address: 10.198.2.52

[dladmin@frasasdlappd2 ~]$ nslookup sdl-cdsw-dev.de.cd.com --> working like a variable as wildcard cant be directly mapped to normal
Server:         10.255.252.1
Address:        10.255.252.1#53

Non-authoritative answer:
sdl-cdsw-dev.de.cd.com  canonical name = frasasdlappd2.de.cd.com.
Name:   frasasdlappd2.de.cd.com
Address: 10.198.2.52

我的配置如下,

NameVirtualHost *:443
<VirtualHost *:443>
        ServerName frafahadooappd5.de.cd.com:443
                ServerAlias *.dev.cdsw.intranet.cd.com


        AllowEncodedSlashes on
        #Options +Indexes +SymLinksIfOwnerMatch +FollowSymLinks
        #DirectoryIndex index.php index.html

        SSLEngine on
        SSLCertificateFile /opt/testlab/pki/publicCertificates/host_crt.pem
        SSLCertificateKeyFile /opt/testlab/pki/keystore/host_key.pem
        SSLCertificateChainFile /opt/testlab/pki/publicCertificates/chain_crt.pem
        SSLProxyEngine On

        ProxyPass /  https://dev.cdsw.abc.intranet.cd.com/
        ProxyPassReverse / https://dev.cdsw.abc.intranet.cd.com/
        ProxyPassReverseCookieDomain frafahadooappd3.de.cd.com frafahadooappd5.de.cd.com


                    RewriteEngine on
                        RewriteCond %{HTTPS_HOST} ^frafahadooappd5\.de\.cd\.com$
                        RewriteRule ^(.*)$                   "https\:\/\/frafahadooappd5\.de\.cd\.com\/$1" [R=301,L]

</VirtualHost>

当我导航到反向代理 URL 时,

反向代理 URL:https://frafahadooappd5.de.cd.com/-> 即使按预期登录到应用程序后,应用程序登录页面仍会显示代理 URL,但应用程序网页内有一个名为“项目”的字段,当我点击该字段时,它会转到应用程序 URL(https://dev.cdsw.abc.intranet.cd.com/login?next=%2Fvijay%2Ftest-dev),但情况不应该如此,而应该将其自身限制在反向代理 URL 上。

不确定,这个重写条件是否正确。由于这个请求很特殊,我提供了所有详细信息。请帮我解决。

答案1

看起来您希望重写模块替换内容,重写模块会更改 http 请求,但不会更改内容。

您可以尝试使用替代模块,或重新配置应用程序以使用主机标头动态分配链接/资产或仅使用相对链接。

尝试类似...

AddOutputFilterByType SUBSTITUTE text/html
substitute "s|frafahadooappd5.de.cd.com|%{HTTPS_HOST}|inq"

相关内容