使用CAS單點登陸時,在tomcat的server.xml中配置了https協議的認證認證,但訪問時報錯:
INFO [http-nio-8443-exec-4] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character (CR or LF) found in method name at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:228)
折騰了很久,搜尋別人的答案大多是因為SSL的配置問題,但我copy了幾個博主的配置始終報錯。
報錯原因是因為我偷了一點點懶。。。。直接copy配置參數,沒有取消掉注釋自己配置,導致配置不完整出錯。
如下server.xml:
<!-- copy的配置 --> <!-- <Connector port="8443" maxHttpHeaderSize="1048576" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="f:/keys/my.keystore" keystorePass="xz19950122xz"/> --> <!-- 內建的配置,取消掉注釋,加上keystoreFile和keystorePass --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="f:/keys/my.keystore" keystorePass="xz19950122xz"/>
修改後再次訪問https的8443連接埠,瀏覽器成功跳轉:
您的串連不是私密串連攻擊者可能會試圖從 localhost 竊取您的資訊(例如:密碼、通訊內容或信用卡資訊)。瞭解詳情