我一丝不苟地遵循了这些文档的说明:
https://help.ubuntu.com/10.04/serverguide/certificates-and-security.html
https://help.ubuntu.com/10.04/serverguide/httpd.html
但是,当我输入以下 URL 时,我的网站仍然没有响应:
https://mysite.com
但下面的方法确实有效:
http://mysite.com
使用 HTTPS,在 Firefox 中我收到超时消息“连接已超时”。
我尝试了一些故障排除。 /var/log/apache2/error.log 中没有任何与此相关的内容,并且由于我的网站从未确认过该请求,因此其记录器中也没有任何内容。
当我运行 sudo netstat -tulpn 时,我注意到了以下条目:
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3911/apache2
这让我认为 apache2 正在监听 443。
因此我认为我需要做的比上述说明提供的更多。这是我目前在 ubuntu 服务器上所做的:
openssl genrsa -des3 -out server.key 1024
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
/etc/ssl/certs $ ls -l | grep "server.crt"
-rw-r--r-- 1 root root 1001 Jun 26 00:39 server.crt
/etc/ssl $ sudo su
➜ ssl cd private
➜ private ls
server.key ssl-cert-snakeoil.key
sudo a2ensite default-ssl
sudo /etc/init.d/apache2 restart
这是我的虚拟主机的样子:
/etc/apache2/sites-enabled $ cat mysite.com
<VirtualHost *:80>
ServerName mysite.com
DocumentRoot /home/guarddoggps/public_html/mysite.com/current/public
<Directory /home/guarddoggps/public_html/mysite.com/current/public>
AllowOverride all
Options -MultiViews
</Directory>
<LocationMatch "^/assets/.*$">
Header unset ETag
FileETag None
# RFC says only cache for 1 year
ExpiresActive On
ExpiresDefault "access plus 1 year"
</LocationMatch>
</VirtualHost>
我是否遗漏了任何步骤?