我有一个在 http 上运行的应用程序,然后我尝试通过 https 创建登录页面。早期的 apache web server 用于通过 ajp 协议将请求转发给注册 worker 的 tomcat。现在我在 中添加了一个密钥和证书,/etc/apache2/crt
即. 里面还有一个文件。用于上述证书生成的命令来自http://www.akadia.com/services/ssh_test_certificate.html我没有完成第 6 步,因为其中有两个文件:和. 我更改了两行:ssl.key
ssl.crt
certificate.csr
/etc/apache2/sites-available
default
default-ssl
default-ssl
SSLCertificateFile /etc/apache2/crt/certificate.csr
SSLCertificateKeyFile /etc/apache2/crt/ssl.key
我还更改server.xml
了 tomcat 以在 8446 后接收 https:
<Connector port="8446" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/etc/apache2/crt/ssl"
keystorePass="password"/>
我也改变了web.xml
,它现在还包含:
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Login</web-resource-name>
<url-pattern>/login/*</url-pattern>
<!-- <url-pattern>/other/secure/stuff/*</url-pattern> -->
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
我试过了curl -Iv https://localhost
,curl -Iv https://localhost:8446
但出现以下错误:
About to connect() to localhost port 8446 (#0)
* Trying 127.0.0.1... Connection refused
* couldn't connect to host
* Closing connection #0
curl: (7) couldn't connect to host
请让我知道如何实现这一目标。