当前位置:首页 > 技术分享 > 正文内容

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

admin2个月前 (09-02)技术分享129

当访问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
分享给朋友:

相关文章

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

能点到全网发布这一步,说明你已经弄好了获取component_verify_ticket,component_access_token等这些参数,通常这个时候点击全网发布只会有这两个失败。如果其他失败的那就要好好检查一下你的代码了,或者查看...

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- ...

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6....

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li...

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

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

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

发表评论

访客

看不清,换一张

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