Apache2 - 如何完全关闭端口 80 并强制浏览器自动使用 HTTPS?

标签 apache ssl phpmyadmin

我正在运行最新的 Debian Wheezy,我正在配置一个运行 phpMyAdmin 的 Apache2 服务器,仅此而已。我通过以下方式安装了自签名证书:

    * 正在删除 /etc/apache2/sites-available 中的 default 文件
    * 修改default-ssl 文件以添加证书和证书 key 的路径
    * 将 default-ssl 重命名为 default
    * 服务 apache2 重启

证书确实有效,但不如我预期的那样。
我的目标是完全关闭 Apache 的 80 端口,让浏览器自动为任何网站使用 HTTPS,包括 phpMyAdmin。第一个问题是我必须手动添加 https:// 在 URL 中,以便能够从 /var/www 打开默认站点 - 我希望它自动重定向到 HTTPS。第二个是 phpMyAdmin 不能很好地与 SSL 一起工作。当我在浏览器中打开 http://10.0.0.8/phpmyadmin 时,网站打开时没有 SSL 证书,在我尝试登录后,它会将我重定向到 http://10.0.0.8/phpmyadmin/index.php 导致浏览器显示“连接被拒绝”。使用 https:// 打开网站后,一切正常。
我现在所做的是我在 ports.conf 中评论了前两行以关闭端口 80 的监听。我还试图通过添加 $cfg['ForceSSL '] = true;config.inc.php 中并制作一个 .htaccess 文件以使用 Redirect permanent/phpmyadmin https://10.0.0.8 将用户重定向到 SSL 站点/phpmyadmin
我怎样才能做到这一点?

最佳答案

我刚刚遇到了同样的问题。我将以下行添加到默认端口 80 服务器的默认 apache2 conf 文件中。这是/etc/apache2/sites-available/default 的 conf 文件

Redirect permanent /phpMyAdmin https://your-full-domain-name-or-ip/phpMyAdmin

记得重启你的apache2服务器

/etc/init.d/apache2 restart

任何试图访问您的 phpMyAdmin 的人都会被重定向到 SSL。

关于Apache2 - 如何完全关闭端口 80 并强制浏览器自动使用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23838104/

相关文章:

apache - Spring Session 复制问题

java.io.IOException : Error detected parsing the header , 在 Java 中解压 .tgz 文件

mysql - 在 phpMyAdmin 中存储数组( double )

mysql - 在 mysql 中设置为唯一的几个字段

mysql - phpMyadmin 数据库导入错误 #1046 - 没有选择数据库

apache - JkMount 忽略别名

java - 由 : java. lang.ClassNotFoundException : org. apache.chemistry.opencmis.server.shared.AbstractCmisHttpServlet 引起

python - 由于 SSL 错误,无法让 virtualenv 工作

.htaccess - 尝试将目录重定向到 https 但在返回时得到双 URL 段

ssl - CXF RESTful 客户端