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

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

admin8小时前技术分享5

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

相关文章

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

在此环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢,我所遇到的php-cgi进程占用cpu资源过多的原因有: 1. 一些php的扩展与php版本兼容存在问题,实践证明 e...

360浏览器如何禁止切换到兼容模式[本地终极办法]

360浏览器如何禁止切换到兼容模式[本地终极办法]

浏览器内核控制标签meta说明背景介绍由于众所周知的原因,国内的主流浏览器都是双核浏览器:基于Webkit的内核用于常用网站的高速浏览,基于IE的内核主要用于部分网银、政府、办公系统等网站的正常使用。以360浏览器为例,我们优先通过Webk...

微软版Ghost Win10:FFU映像备份和还原

微软版Ghost Win10:FFU映像备份和还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原...

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...

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有...

发表评论

访客

看不清,换一张

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