我在具有公共 IP 地址的 Ubuntu 服务器上配置了我的 DNS 服务 (bind9)。我在/etc/bind/db.mydomain.com
(我的域区域)中添加了一台机器的“A”记录(具有公共 IP 地址)machine1.mydomain.com A 153.203.52.35
:。
我可以machine1.mydomain.com
从互联网上 ping 通。我也可以毫无问题地通过 SSH 访问它。问题是任何尝试使用浏览器 ( http://machine1.mydomain.com ) 访问此机器上托管的网站的尝试都会自动重定向到 https ( https://machine1.mydomain.com ),这会出现以下错误:“连接到 machine1.mydomain.com 时发生错误。SSL 收到超过最大允许长度的记录。错误代码:SSL_ERROR_RX_RECORD_TOO_LONG”。
Telnet 到机器的 80 端口工作正常:
$ telnet machine1.mydomain.com 80
Trying 153.203.52.35...
Connected to machine1.mydomain.com.
Escape character is '^]'.
我的 http 服务器 (nginx) 配置配置了端口 80,没有配置 https 重定向。当我尝试使用服务器的 IP 地址 ( http://153.203.52.35 ) 访问网站时,网页显示没有问题,也没有重定向到 https。
我确定我的 https 重定向与我的 nginx 无关(请参阅下面我在 nginx 中启用的站点)
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/mydomain.com;
index index.php index.html index.htm ;
server_name mydomain.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/mydomain.com$fastcgi_script_name;
}
}
我花了 2 天时间试图弄清楚发生了什么但没有成功。Http 重定向通常在 http 服务器级别完成,而不是在 DNS 服务器中完成。我很困惑。
解决这个问题的任何评论或建议都会节省我的时间和金钱。
由于可以使用 curl 命令显示该网站,唯一剩下的就是使用以下帖子从浏览器中清除 DNS 和缓存:如何停止从“http://”到“https://”的自动重定向铬。问题已经解决了。