服务器上怎么安装虚拟主机,Nginx私有证书安装怎么做

在Nginx服务器上安装虚拟主机和私有证书,核心流程是:先通过server块配置虚拟主机,再生成或获取SSL证书,最后在server块中指定证书路径并强制HTTPS跳转。这套操作在个人服务器和中小企业业务中非常常见,配置难度不算高,但细节容易出错,下面按照实际部署顺序,把每一步拆开讲清楚。

虚拟主机在Nginx里的本质是什么

Nginx的虚拟主机,本质上就是配置文件里的server块,每个server块监听一个端口、绑定一个域名,并指定对应的站点根目录,服务器上创建多个虚拟主机,就是写多个server块,让一台Nginx同时服务多个网站。

Nginx实战 - 配置HTTPS | 数字证书和私钥 | Docker Compose容器
加载中
Nginx实战 - 配置HTTPS | 数字证书和私钥 | Docker Compose容器

配置虚拟主机的常规路径是:

  • 主配置文件:/etc/nginx/nginx.conf
  • 子配置文件目录:/etc/nginx/conf.d/ 或 /etc/nginx/sites-available/

大多数Linux发行版都支持在conf.d目录下按域名拆分配置文件,比如/etc/nginx/conf.d/example.com.conf,这样做的好处是,后续修改或删除某个站点,不影响其他配置。

Nginx服务器上怎么安装虚拟主机:分步实操

第一步:确认Nginx已安装并运行

先检查环境:

nginx -v
systemctl status nginx

如果尚未安装,在Ubuntu/Debian上执行:

sudo apt update
sudo apt install nginx -y

CentOS/RHEL系列则用:

sudo yum install nginx -y

安装完成后启动服务并设置开机自启:

sudo systemctl start nginx
sudo systemctl enable nginx

第二步:创建站点目录和测试文件

每个虚拟主机要有独立的根目录,以/var/www/example.com为例:

sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>Hello from example.com</h1>" > /var/www/example.com/index.html

目录权限建议设置为755,文件权限为644,避免Nginx因权限不足返回403。

第三步:编写虚拟主机配置文件

在/etc/nginx/conf.d/下新建example.com.conf:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html;
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;
    location / {
        try_files $uri $uri/ =404;
    }
}

这段配置的含义是:监听80端口,当请求的域名是example.com或www.example.com时,将请求映射到/var/www/example.com目录。

第四步:测试配置并重载Nginx

写完后先检查语法:

sudo nginx -t

如果输出syntax is ok和test is successful,重载配置:

sudo systemctl reload nginx

此时在浏览器访问http://example.com,如果能看到测试页面,说明虚拟主机已经生效。

第五步:添加更多虚拟主机

复制同样的步骤,创建第二个配置文件another-site.conf,修改server_name和root即可,一台Nginx可以承载几十个虚拟主机,只要服务器资源够用。

在Nginx服务器上安装私有证书的完整流程

私有证书通常指自签名SSL证书或内网使用的私有CA签发的证书,简米云服务器和酷番云服务器上的操作基本一致,区别只在安全组或防火墙是否放行443端口。

第一步:生成自签名证书

使用OpenSSL生成私钥和证书:

sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/nginx/ssl/example.com.key \
    -out /etc/nginx/ssl/example.com.crt

执行过程中会提示输入国家、省份、组织等信息,其中Common Name要填域名或IP地址。-nodes参数表示不加密私钥,这样Nginx启动时不需要手动输入密码,如果需要更长的有效期,可以把-days 365改成-days 3650,业内专家指出,私有证书的有效期不宜超过两年,内网环境可以适当放宽,但公网业务强烈建议使用受信任的CA证书。

第二步:修改虚拟主机配置以支持HTTPS

在原配置文件example.com.conf中新增一个443端口的server块:

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    root /var/www/example.com;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

同时添加一个80端口的跳转规则,把HTTP请求强制转到HTTPS:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

行业共识认为,强制HTTPS跳转是部署SSL证书后的必要步骤,否则用户仍可能通过明文HTTP访问,证书形同虚设。

第三步:放行防火墙和安全组

本机防火墙需要放行443端口:

sudo ufw allow 443/tcp

如果是在简米云服务器或酷番云服务器上,还要在云控制台的安全组规则中添加入方向TCP 443端口,这一步经常被忽略,导致证书配置正确但外部无法访问。

第四步:重载Nginx并验证

sudo nginx -t
sudo systemctl reload nginx

验证方式:

curl -I https://example.com

或者用浏览器访问,地址栏会出现锁形图标(自签名证书会提示不受信任,这是正常现象,因为浏览器不认私有CA),想要彻底消除浏览器警告,需要把自签名的CA证书导入到操作系统的信任库中,这在企业内部可以通过组策略批量下发。

私有证书和公网证书的区别,怎么选

证书类型 适用场景 浏览器信任 成本
自签名证书 内网测试、开发环境 不信任,需手动导入 免费
私有CA签发的证书 企业内部系统、局域网应用 导入CA后信任 视内部CA建设成本而定
公网CA证书(如Let’s Encrypt) 公网网站、小程序后端 全信任 免费或数百元/年

如果只是本地联调或内网服务,自签名证书完全够用,但涉及公网用户访问、小程序接口、App支付回调等场景,还是建议用Let’s Encrypt或云厂商提供的免费证书,需要注意,自签名证书的私钥如果泄露,攻击者可以伪造证书实施中间人攻击,内网环境也不能掉以轻心。

常见报错和排查思路

部署过程中容易遇到以下几类问题,对应的排查方向如下:

  • Nginx启动失败,报错ssl_certificate不存在:检查证书文件路径是否写错,确认Nginx用户(通常是www-data或nginx)对证书文件有读取权限。
  • 访问HTTPS站点提示”连接不安全”:自签名证书的预期行为,检查证书的Common Name是否和访问域名一致。
  • HTTP能访问,HTTPS超时:大概率是安全组或防火墙没有放行443端口,用telnet 域名 443测试连通性。
  • 配置了多个server块,但访问时总是跳到同一个站点:检查server_name是否重复,如果两个server块监听了同一个端口且server_name相同,Nginx会使用先加载的那个配置,多数情况下,这类问题源于配置文件里存在语法错误或重复的默认server块。

关于Nginx配置虚拟主机和SSL证书,常见问题解答

Nginx服务器上怎么安装虚拟主机但不影响现有站点?

只要新虚拟主机的server_name不与其他站点冲突,在conf.d目录下新增独立的配置文件,nginx -t检查通过后reload即可,Nginx的reload是平滑重载,不会中断现有请求。

自己生成私有证书后,浏览器仍然提示不安全,是否说明配置失败了?

不是,自签名证书和私有CA签发的证书天然不被浏览器信任,这是客户端侧的机制,配置本身可能已经成功,用openssl s_client -connect 域名:443可以看到证书链信息,如果确认证书链完整且服务端配置正确,只需将自签名证书导入客户端信任库即可消除警告。

一台Nginx服务器上可以同时配置虚拟主机和多个私有证书吗?

可以,Nginx支持SNI(Server Name Indication),每个server块可以指定不同的ssl_certificate和ssl_certificate_key,只要各自的server_name不同即可,注意Nginx版本不低于1.11.0时SNI支持比较完善,老版本可能会有兼容性问题。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/558777.html

赞 (0)
上一篇 2026年8月9日 12:45
下一篇 2026年8月9日 12:46

相关推荐

  • 树莓派用什么开发,树莓派开发语言有哪些

    树莓派开发是一个软硬件高度协同的过程,核心开发手段主要依赖于Linux环境下的Python、C/C++编程,配合官方提供的强大SDK与丰富的第三方库,辅以VS Code、Geany等高效IDE工具链,对于初学者而言,Python是入门首选;对于高性能应用,C/C++则是必选项;而Web开发与物联网场景则分别对应……

    2026年3月12日
    12700
  • mac web 开发用什么工具好?Mac前端开发环境搭建教程

    Mac 环境凭借其 Unix 底层架构、卓越的硬件性能以及高度统一的生态系统,已成为 Web 开发领域的首选平台,能够显著提升开发效率与项目稳定性,对于开发者而言,构建一套高效、稳定且可扩展的 Mac Web 开发环境,核心在于合理配置终端工具链、精准管理多版本运行环境以及优化 IDE 工作流,Unix 内核优……

    2026年4月10日
    7400
  • 云fpga服务器是什么?云fpga服务器租用价格贵吗

    关于云FPGA服务器的疑问在云计算日益普及的今天,许多开发者和技术决策者开始关注云FPGA(Field-Programmable Gate Array)服务器,与传统CPU或GPU相比,FPGA以其硬件可重构性、低延迟和高能效比,在视频转码、网络加速、金融高频交易及AI推理等领域展现出独特优势,面对市场上琳琅满……

    2026年6月10日
    3700
  • 红色飓风开发板怎么样?红色飓风开发板入门教程

    红色飓风开发板作为高性能嵌入式开发的标杆平台,凭借其卓越的硬件架构、丰富的接口资源以及工业级稳定性,已成为工程师实现复杂算法验证与产品原型设计的首选工具,其核心价值在于通过高度集成的FPGA架构,解决了传统开发中硬件重构困难、并行处理能力不足的痛点,大幅缩短了从算法仿真到硬件落地的周期,硬件架构设计:重新定义性……

    2026年3月12日
    11200
  • epg开发怎么做?epg开发教程与流程详解

    EPG系统的核心在于构建一个高并发、低延迟的数据处理与分发架构,其开发本质是解决海量节目元数据从采集到终端展示的实时性与准确性问题,成功的EPG开发必须建立在标准化的数据模型与高效的缓存策略之上,这直接决定了系统的响应速度与用户体验,开发团队应优先关注数据解析引擎的构建与接口性能优化,而非过度设计前端界面,这是……

    2026年3月7日
    12700
  • 网络数据和信息安全报告怎么加强?2026最新合规要求

    关于加强网络数据和信息安全报告在数字化转型的深水区,服务器已不再仅仅是计算资源的载体,而是企业数据资产的核心防线,随着《数据安全法》与《个人信息保护法》的深入实施,以及全球范围内对网络攻击频率与强度的升级,构建高可用、高安全、高合规的服务器基础设施已成为IT决策者的首要任务,本报告基于2026年最新的市场技术趋……

    2026年5月31日
    5000
  • 如何提升高并发服务性能?高并发性能优化实战指南

    高性能服务的核心在于通过系统化的架构设计和精细化技术控制,实现低延迟、高并发与高可用性目标,以下是经过大规模生产验证的实践方案:架构设计核心原则异步非阻塞模型// Netty事件循环组示例EventLoopGroup bossGroup = new NioEventLoopGroup(1);EventLoopG……

    2026年2月13日
    14900
  • 个人能注册中文域名吗,注册中文域名需要什么条件

    个人能注册中文域名吗?深度解析与2026年高性价比服务器选购指南在数字化浪潮席卷全球的今天,中文域名(如 .中国、.公司、.网络 等)因其直观、易记且符合中文用户阅读习惯的优势,正逐渐成为品牌保护和本土化营销的重要资产,许多个人开发者、自由职业者及中小企业主常面临一个核心疑问:个人能注册中文域名吗? 答案是肯定……

    2026年7月1日
    1500
  • 怎么监控进程写文件,进程监控方法有哪些?

    监控进程写文件,核心是实时捕捉进程的文件写入操作,通过系统调用审计或日志分析,能快速定位异常写入、磁盘IO瓶颈或安全事件,为什么需要监控进程写文件进程写文件是系统运行中最基础也最频繁的操作之一,一旦出现问题,轻则拖慢业务响应,重则导致数据损坏或触发安全告警,在实际运维中,以下场景迫使你必须关注写文件行为:磁盘I……

    2026年8月6日
    800
  • 公司服务器存储不够怎么办?服务器扩容方案

    公司服务器存储不够?深度测评2026年主流云存储方案与扩容实战指南在数字化转型的深水区,数据已成为企业的核心资产,许多企业在享受业务增长红利的同时,往往被“存储瓶颈”这一隐形杀手所困扰,当数据库响应变慢、备份任务超时、甚至业务高峰期出现IO等待时,传统的本地存储或基础云主机已难以支撑日益增长的数据需求,面对20……

    2026年6月29日
    1610

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注