iT邦幫忙

0

兩台主機,使用一個網址,一個HTTP網站接到HTTPS網站

環境是Apache 2.2.29

網站1對外使用https,主要對外窗口
https://www.aaa.com.tw/index.php
內部IP是 192.168.1.100
網站2對外使用http,是一個簡單的網頁提供資料庫搜尋
http://192.168.0.101/query/index.jsp
內部IP是 192.168.1.101

需要在網站1中的幾個分頁中用iframe嵌入網站2的網頁

以下是網站1的設定檔:
http-vhosts.conf檔

<VirtualHost *:80>
        DocumentRoot            "/var/www/html/web"
        ServerName              www.aaa.com.tw
        RewriteLog              logs/rewrite.log
        RewriteLogLevel         9
        RewriteEngine           on
        RewriteMap              lowercase int:tolower
        RewriteMap              vhost txt:/var/www/html/web/mainsubsite.map
        RewriteCond             ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
        RewriteCond             ${vhost:%1} ^(/.*)$
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}
        ErrorLog logs/aaa_error_log
        CustomLog logs/aaa_log common

        addDefaultCharset UTF-8
</VirtualHost>

ssl.conf檔

<VirtualHost _default_:443>

DocumentRoot "/var/www/html/web"
ServerName www.aaa.com.tw

ErrorLog logs/ssl_aaa_error.log
TransferLog logs/ssl_aaa_access.log
LogLevel warn

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/aaa/aaa.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

    RewriteLog              logs/rewrite.log
    RewriteLogLevel         0
    RewriteEngine           on
    RewriteMap              lowercase int:tolower
    RewriteMap              vhost txt:/var/www/html/web/mainsubsite.map
    RewriteCond             ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
    RewriteCond             ${vhost:%1} ^(/.*)$
    RewriteRule             ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]

#    ProxyPreserveHost on

    ProxyRequests           Off
    ProxyPass               /  http://192.168.1.101/query retry=0
    ProxyPassReverse        /  http://192.168.1.101/query retry=0
    RedirectMatch           ^/$ https://www.aaa.com.tw/query

#    <Proxy *>
#      Order Deny,Allow
#      Deny from all
#      #內部 IP
#      Allow from 10.1.1
#      #外部 IP
#      Allow from 163.29.185.99
#    </Proxy>
#    ProxyPreserveHost on

</VirtualHost>

想要讓最後嵌入的網頁變成類似這樣:
https://www.aaa.com.tw/query/index.jsp

目前還在找資料嘗試,想請教各位先進:設定ProxyPass這個方法可行嗎?

如內容或觀念不對,還請各位先進指正。

2 個回答

0
ufgeorge
iT邦研究生 2 級 ‧ 2019-01-04 17:42:04

即使是iframe,仍然代表的是由client去存取網站2
所以當用戶是處於internet時,iframe中的網站2內容是不會出來的

snameless iT邦新手 5 級 ‧ 2019-01-04 17:50:06 檢舉

抱歉我的說法有錯,更正一下內容。

0
imcloud
iT邦新手 5 級 ‧ 2019-01-05 10:41:44

我記得 https 網頁內不能使用 iframe 非https 的頁面,會被流量器阻擋。

要在 https 的那台 server 上弄個反向代理,首先要先確定是否有載入 proxy 的模組
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

snameless iT邦新手 5 級 ‧ 2019-01-07 12:56:38 檢舉

抱歉現在才回覆
已經確定這兩個模組有載入了

我要發表回答

立即登入回答