No appropriate protocol
今天一個朋友讓我幫他做一下tomcat的https配置,中間遇到了標題中這個錯誤,因此記錄了一下過程,伺服器、域名、證照、tomcat都已經準備好,就是需要配置一下即可,用的是阿里雲的證照服務,也是透過阿里雲的證照服務生成的證照檔案。
配置步驟-
透過阿里雲控制檯下載tomcat的https證照檔案,證照檔案很多,這裡是點選tomcat選項下的下載按鈕。
- 把證照檔案傳到linux伺服器,如
21xxxxx.zip
。 - 進入tomcat安裝目錄,比如
/opt/tomcat-8.0
,並建立cert目錄(這個目錄名可任意設定,用來存放證照),並把證照的壓縮包移到此資料夾中,解壓。
#進入tomcat目錄
cd /opt/tomcat-8.0
#建立cert目錄
mkdir cert
#進入cert目錄
cd cert
#移動證照檔案至當前目錄
mv /home/user1/21xxxxx.zip ./
#解壓證照檔案
unzip 21xxxxx.zip
- 進入tomcat的配置檔案目錄,修改server.xml配置檔案。
cd /opt/tomcat-8.0/conf
vi server.xml
- 重啟tomcat伺服器
初始時的tomcat的配置檔案:
由於沒有配置過tomcat的https目錄,因此就直接按照阿里雲的幫助文件來配置了,檔案如下:
https是443埠,因此將圖中的埠改為443,並將證照名和密碼欄位修改即可。
重啟tomcat伺服器,啟動成功,透過http方式訪問正常,但是透過https訪問時tomcat控制檯出現標題中的這個錯誤:
由於是第一次配置tomcat的證照,以往都是透過其他方式,因此也不是十分確定錯誤在哪裡,tomcat版本?或者是jdk版本?腦海中閃過幾個原因,但是透過http訪問沒問題,證明只是和剛剛的https配置有關。
因此在網路上查了半天,但是都沒有找到確切的答案,也沒解決掉問題,一段時間無果後,又看了一遍錯誤,protocol is disabled or cipher suites are inappropriate
,就感覺是不是protocol或者cipher引數配置有問題,然後就開始針對幾個引數做了幾次修改,最終可以正常透過https訪問網站了。
修改後的配置如下:
與阿里雲給出的配置有些不同,protocol引數由"HTTP/1.1"修改為"org.apache.coyote.http11.Http11NioProtocol",ciphers引數刪除了,SSLCipherSuite也刪除了,可以透過https方式正常訪問了。
我曾七次鄙視自己的靈魂:
第一次,當它本可進取時,卻故作謙卑;
第二次,當它空虛時,用愛慾來填充;
第三次,在困難和容易之間,它選擇了容易;
第四次,它犯了錯,卻藉由別人也會犯錯來寬慰自己;
第五次,它自由軟弱,卻把它認為是生命的堅韌;
第六次,當它鄙夷一張醜惡的嘴臉時,卻不知那正是自己面具中的一副;
第七次,它側身於生活的汙泥中雖不甘心,卻又畏首畏尾。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1020/viewspace-2799782/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一次部署在docker環境專案傳送郵件出現No appropriate protocolDockerAPPProtocol
- 825. Friends Of Appropriate AgesAPP
- man -k : nothing appropriate.APP
- [LeetCode] 825. Friends Of Appropriate AgesLeetCodeAPP
- ORA-12519 TNS:no appropriate service handler foundAPP
- protocol bufferProtocol
- Protocol Buffers 系列 (1) - 什麼是Protocol Buffers?Protocol
- 備份時報no channel allocated for maintenance(of an appropriate type)AINaNAPP
- location.protocolProtocol
- Jaeger TChannel ——protocolProtocol
- 聊聊SWIM ProtocolSWIMProtocol
- Dubbo on x-protocol——SOFAMesh中的x-protocol示例演示Protocol
- Oracle案例03——RMAN-06091: no channel allocated for maintenance (of an appropriate type)OracleAINaNAPP
- TarsGo支援Protocol BufferGoProtocol
- Protocol Buffer 使用指北Protocol
- TarsGo 支援 protocol bufferGoProtocol
- 解密gRPC: Protocol Buffer解密RPCProtocol
- URL protocol 屬性Protocol
- CPSC 471 HTTP protocolHTTPProtocol
- Swift -- enum 繼承 protocolSwift繼承Protocol
- Protocol Buffers 3 學習Protocol
- Runtime原始碼 protocol(協議)原始碼Protocol協議
- Spring Cloud OpenFeign整合Protocol BufferSpringCloudProtocol
- 執行gedit報No protocol specifiedProtocol
- gRPC-Protocol語法指南RPCProtocol
- SIP (Session Initiation Protocol) 協議SessionProtocol協議
- Internet Protocol version 4 (IPv4)Protocol
- https Java SSL Exception protocol_versionHTTPJavaExceptionProtocol
- IE安全系列之——RES ProtocolProtocol
- Protocol Buffers 在 iOS 中的使用ProtocoliOS
- Seed Lab實驗:Attacks on the TCP ProtocolTCPProtocol
- protocol buffer的高效編碼方式Protocol
- Protocol buffer---Protobuf3開發指南Protocol
- JS呼叫本地exe(通過URL Protocol)JSProtocol
- RA-03137:TTC protocol internal error:[12333]ProtocolError
- 使用工具生成 Protocol 易讀文件Protocol
- Protocol Buffer序列化Java框架-ProtostuffProtocolJava框架
- 在nginx中使用proxy protocol協議NginxProtocol協議