iT邦幫忙

1

非443 port的轉向https?

因原本的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?

dragonH iT邦大師 6 級 ‧ 2019-09-12 16:12:45 檢舉
直接 rewrite 不可行嗎

好吧

同個 port 我不太確定
ccutmis iT邦研究生 1 級 ‧ 2019-09-12 16:23:15 檢舉
問古哥 'apache url rewrite http to https'
看起來要達到這要求 需要另外一個 proxy server 做對應
https://stackoverflow.com/questions/22453782/nodejs-http-and-https-over-same-port
2
dragonH
iT邦大師 6 級 ‧ 2019-09-12 16:24:15

參考1

參考2

預設的 http(80) 跟 https(443)

是兩個不同的 port

直接轉是沒問題的

你想要的好像是

同個 port 轉?

hsiang11 iT邦研究生 3 級 ‧ 2019-09-12 16:48:07 檢舉

沒錯 一個port可以同時支援http和https
好像無法這樣

dragonH iT邦大師 6 級 ‧ 2019-09-12 16:53:00 檢舉

目前看到的幾乎都說 not possible 啦 /images/emoticon/emoticon11.gif

測試用的話

暫時用

http (8080)

https(8443)

應該沒差吧

就只是 port 號而已 XD

如果不想 url port 號看起來不一樣

可能就要用 nginx 那類的工具

來實現 reverse proxy

fillano iT邦超人 1 級 ‧ 2019-09-16 11:50:42 檢舉

https跟http並不相容哪...https需要在http協定能運作之前先做SSL交握來建立連線,然後才開始傳送http協定的內容。理論上不可能在同一個port上運作的。

2
浩瀚星空
iT邦大師 1 級 ‧ 2019-09-12 16:40:00

其實,我會比較偏向用域名來區分測試站。而不會用port來區分測試站
如正式站是abc.com。那測試站就給他 test.abc.com 這個域名就好。
然後再指定這個域名到測試空間。

這樣測試起來也會比較單純。

1
wolfwang
iT邦新手 3 級 ‧ 2019-09-12 16:52:55

假設 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 ,因為正式機也是這樣的環境,一樣對應才合理。

2
雷伊
iT邦新手 2 級 ‧ 2019-09-12 18:00:58

這要靠防火牆虛擬伺服器轉址功能來實現
你域名前頭打http或https是沒有意義的,因為你冒號後已指定Port。(未指定就會像遠端桌面跑3389一樣)

以FortiGate為例:
https://ithelp.ithome.com.tw/upload/images/20190912/20117139cAxiUpjeu4.jpg

不過LDAP環境居然架在正式機下,要是你老闆是我前公司的副總,你今年大致上已沒有年終了
我前老闆的教誨:在正試環境下搞測試,你永遠不會知道將會發生甚麼事。

1
tayloreric
iT邦新手 5 級 ‧ 2019-09-13 17:13:55

都已經用 Vhost 了, 是不是再web服務上 加上 http 自動跳轉就好了呢?
防火牆應該是不用動,也跟 port 較無關係
1.寫另一網頁讓 http://xxx.com:8443 連入,用網頁讓他自動跳轉
2.使用 .htaccess 將 http 轉成 https

雷伊 iT邦新手 2 級 ‧ 2019-09-16 15:04:48 檢舉

可以寫另外一個網頁那又何苦在正式環境下搞測試機?

我要發表回答

立即登入回答