我正在尝试配置我的家庭服务器以接受端口443上的SSL连接.
我是www.mydomain.com域名,我刚刚使用mod_jk链接了Apache2和Tomcat,现在我也想接受来自网络的https请求.
这是我的配置:
httpd.conf文件
<IfModule mod_jk.c>
JKWorkersFile /etc/apache2/workers.properties
JkShmFile /var/log/apache2/mod_jk.shm
JKLogFile /var/log/apache2/mod_jk.log
JkLogLevel debug
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
</IfModule>
<VirtualHost *:80>
DocumentRoot "/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyTomcatAppName"
ServerName www.mydomain.com
ErrorLog "/private/var/log/apache2/www.mydomain.com-error_log"
CustomLog "/private/var/log/apache2/www.mydomain.com-access_log" common
JkMountCopy On
JkMount /* ajp13
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyTomcatAppName"
ServerName mydomain.com
ErrorLog "/private/var/log/apache2/mydomain.com-error_log"
CustomLog "/private/var/log/apache2/mydomaino.com-access_log" common
JkMountCopy On
JkMount /* ajp13
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
那么这是我的Worker.properties文件:
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=localhost
worker.ajp13.port=8009
Run Code Online (Sandbox Code Playgroud)
这是我的server.xml:
<Host name="localhost" appBase="/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyTomcatAppName" />
Run Code Online (Sandbox Code Playgroud)
使用此配置,当我访问http:// www.mydomain.com或http:// domain.com时,我正确浏览MyTomcatAppName ...我现在的问题是使用https连接访问同一网站,所以https:// www .mydomain.com或https:// domain.com.我的Mac …
我购买了Godaddy证书,我在Mac服务器上正确安装了它,所以现在我在Keychain应用程序中看到2个条目:
然后我将证书(mydomain.com)添加到httpd.conf文件的VirtualHost中,因此:
<VirtualHost *:443>
DocumentRoot "/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyServerAppName"
ServerName mydomain.com
ErrorLog "/private/var/log/apache2/mydomain.com-error_log"
CustomLog "/private/var/log/apache2/mydomain.com-access_log" common
SSLCertificateFile /etc/apache2/mydomain.cer
JkMountCopy On
JkMount /* ajp13
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后,我想,我还需要私钥文件,否则Apache无法处理证书.这该怎么做?我可以将Apple Keychain的证书保存到.pem和.cer文件中.