当前位置:首页 > 技术分享

同服务器 http 定向到https网站 解决办法

admin6个月前 (09-02)技术分享417

当访问https://www.domain1.com时却访问到了www.domain2.com的内容,这是因为您的Nginx配置存在以下问题:


问题原因

缺少HTTPS配置:www.domain1.com的server块只监听了80端口(HTTP),没有监听443端口(HTTPS)

默认SSL服务器:当访问https://www.domain1.com时,Nginx会使用第一个匹配的SSL服务器块,也就是www.domain2.com的配置

解决方案

方案1:为www.domain1.com添加SSL配置

修改www.domain1.com的server块,添加SSL监听和证书配置:

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name www.domain1.com;
  
  # 添加SSL证书配置(使用与www.domain1.com相符的证书)
  ssl_certificate /ssl/www.domain1.com/www.domain1.com.pem;
  ssl_certificate_key /ssl/www.domain1.com/www.domain1.com.key;
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  ssl_prefer_server_ciphers on;
  
  # 其余配置保持不变...
}

方案2:添加默认SSL服务器块(推荐)

为了防止其他未配置SSL的域名匹配到错误的服务器块,可以添加一个默认SSL服务器:

server {
  listen 443 ssl default_server;
  listen [::]:443 ssl default_server;
  ssl_certificate /ssl/www.domain2.com/www.domain2.com.pem;
  ssl_certificate_key /ssl/www.domain2.com/www.domain2.com.key;
  return 444; # 关闭连接或重定向到其他页面
}

验证步骤

修改配置后,测试Nginx配置:

Bash

   nginx -t

重新加载Nginx配置:

Bash

   systemctl reload nginx

测试访问:

https://www.domain1.com 现在应该显示正确的内容

如果访问其他未配置的HTTPS域名,应该会被拒绝或重定向

注意事项

确保/ssl/www.domain2.com/www.domain2.com.pem是一个有效的证书,能够匹配www.domain2.com

如果www.domain1.com需要独立的证书,应该为其配置专用证书

考虑为HTTP访问添加自动跳转HTTPS的配置(如果需要)

通过以上修改,您的HTTPS访问应该能够正确路由到对应的网站内容。


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/691.html

标签: nginx
分享给朋友:

“同服务器 http 定向到https网站 解决办法” 的相关文章

php Aes 加密模式ECB填充pkcs5padding base64

最近做支付项目用到了aes加密不过试了好多办法总是和官方给出的结果不一样,找了很久终于找到了测试结果同 http://tool.chacuo.net/cryptaes/ <?php /**  * [Aes&nb…

PIP 更换国内安装源linux/windows

pip国内的一些镜像  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(…

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

究发现很多网站被攻击都是来自海外的肉鸡,所以禁掉海外IP访问网站也是不错的防护手段,而且国内网站几乎很少有国外用户访问,称之为大局域网也不为过。今天主机吧来教大家如何利用域名解析禁止掉海外IP访问网站。绝大多数域名解析服务商都是提供电信联通…

用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT

1、查询域名的A记录nslookup -qt=A bitefu.net当然查询A记录你直接用ping命令来ping域名也可以获得A记录。2、查询域名的NS记录nslookup -qt=NS bitefu.net3、查询域名的MX记录nslo…

在CentOS 5.x 6.x里使用yum源 换阿里云国内源换vault.centos.org源

阿里云CentOS 5 的系统,无法用yum来安装应用软件。  原因:CentOS 5 在2017-03-31日已经结束支持,不再提供维护更新,所以包括阿里云镜像站的文件可能都是过时或已经有部分文件缺失。 &n…

百度云网盘高速下载方法[测试可用]

百度云网盘高速下载方法[测试可用]

大前提这是一个油猴脚本,安装脚本之前,必须先安装油猴浏览器扩展(如已安装则跳过):【第一步】下载油猴 --> 如有提示安装,则直接安装即可,否则继续执行第二步【第二步】安装油猴 --> 参考其中章节:&nbs…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。