抱歉标题太长了,但我不知道还能放什么。我的问题正是如此。如果我输入 www.mydomain.com 会显示正确的页面,如果我输入 IP XXX.XX.XXX.XX,我会得到 apache 的默认页面。
我的虚拟主机文件是:
NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin myname@mydomain.com
DocumentRoot /home/user/site/rails-webpage/public
SSLEngine on
SSLCertificateFile /home/user/doc/www_desmangeo_it.crt
SSLCertificateKeyFile /home/user/doc/desmangeo.key
SSLCertificateChainFile /home/user/doc/AddTrustExternalCARoot.crt
<Directory /home/user/site/rails-webpage/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
感谢 Ray 的评论,我注意到如果我使用 https 发出 IP 请求,我会进入正确的页面。所以看来我不是“重定向端口 80 的视图”。我的意思是,当我尝试使用端口 80 执行此操作时,我收到了 SSL 错误。所以我需要使用443端口。如何告诉服务器“切换”到443端口?
[编辑] 所以我加载了重写模块使用
sudo a2enmod rewrite
并添加
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
在我的虚拟主机所在文件的开头。没有。