因原本的80跟443已讓主站用去 沒辦法使用80轉https
又開了8443做為測試站 測試站使用不同主機
之前都使用http://www.abc.com:8443 連線
現在改為https連線
<VirtualHost *:8443>
ServerName www.abc.com:8443
DocumentRoot /var/www/html
SSLCertificateFile /etc/apache2/SSL_Certs/cht/ca.crt
SSLCertificateKeyFile /etc/apache2/SSL_Certs/server.key
只要開啟了SSL原本的http就無法連線
在只有一個port的情形如何達成連線http:8443自動轉向到https:8443?
其實,我會比較偏向用域名來區分測試站。而不會用port來區分測試站
如正式站是abc.com。那測試站就給他 test.abc.com 這個域名就好。
然後再指定這個域名到測試空間。
這樣測試起來也會比較單純。
假設 http://www.abc.com:80 轉向 https://www.abc.com:443
http 的作用,應該只是轉向 https 而已,正式機應該就是走 https
所以測試機直接就測 https 就好了吧,也就是這裡面提到的 https://www.abc.com:8443 轉向這個應該就是在 web server 的行為,和 app 無關,應該是不用再測了吧?
除非是 http 和 https 是同時提供服務(其實不知道為什麼有這樣的情境),那如果是這樣的話,就是用另外一個 port 來做,例如 http://www.abc.com:8080 ,因為正式機也是這樣的環境,一樣對應才合理。
這要靠防火牆虛擬伺服器轉址功能來實現
你域名前頭打http或https是沒有意義的,因為你冒號後已指定Port。(未指定就會像遠端桌面跑3389一樣)
以FortiGate為例:
不過LDAP環境居然架在正式機下,要是你老闆是我前公司的副總,你今年大致上已沒有年終了
我前老闆的教誨:在正試環境下搞測試,你永遠不會知道將會發生甚麼事。
都已經用 Vhost 了, 是不是再web服務上 加上 http 自動跳轉就好了呢?
防火牆應該是不用動,也跟 port 較無關係
1.寫另一網頁讓 http://xxx.com:8443 連入,用網頁讓他自動跳轉
2.使用 .htaccess 將 http 轉成 https