问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Nginx域名配置详解:从HTTPS到多域名映射

创作时间:
作者:
@小白创作中心

Nginx域名配置详解:从HTTPS到多域名映射

引用
1
来源
1.
http://www.cdweb.net/article/ddedjgo.html

随着HTTPS和TLS协议要求的提高,如何通过Nginx进行域名配置和HTTPS设置成为了很多开发者关注的问题。本文将详细介绍如何通过Nginx配置HTTPS,申请SSL证书,以及如何进行域名映射和配置。

平常开发要求比较低, 依然在用 HTTP, 但到了微信小程序就不行了, 腾讯和苹果都对 API 提出了 HTTPS 的要求. 尤其是苹果, 不仅要求 HTTPS, 还要求 TLS 协议版本要在 1.2 以上, 这又被称为 App Transport Security(ATS)。

服务器配置

使用 Nginx 进行 HTTPS 配置, 服务器几乎不用做改动, 依旧是祖传的 8080 端口, 以我所使用的 Spring Boot 为例, 仅仅是在 application.yml 中增加了两行配置而已。

证书申请/购买

在域名的基本信息页, 点击免费开启 SSL 证书, 输入相应的域名, 点击「申请」即可申请免费的 DV SSL 证书, 还需要做一些简单的信息补全等, 即可提交申请. 如果备案信息都齐全的话, 很快就可以验证成功, 在证书管理页面即可查看证书。

选择下载证书for Nginx, 证书一式两份, 后缀分别为 pem 和 key, 下载完上传到服务器。

域名映射

我选择为两个子域名申请证书, 同时将这两个域名映射到同一个IP。

Nginx 配置

首先, 需要把 http 都转发到 https, 需要使用 rewrite, 这样, 当访问 会自动转发到 。

然后就是真正的 https 不分了, 虽然域名不同, 但都监听 443 端口, 但有着不同的 server_name, 这样当收到请求时就可以根据请求的 server_name 不同来转发到不同的服务。

而服务自身像往常一样只要继续监听 8090、8091 即可。

配置修改好之后, 需要重启 Nginx。

参考

  • Nginx 配置 HTTPS 服务器 | Aotu.io「凹凸实验室」
  • 阿里云+Https+Nginx+SpringBoot | tt_study

Nginx 多域名配置

首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名 则在此目录建一个文件: 然后在此文件中写规则,如:

server{
    listen 80;
    server_name ; #绑定域名
    index index.htm index.html index.php; #默认文件
    root /home/www/itblood点抗
    ; #网站根目录
    include location.conf; #调用其他规则,也可去除
}

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart

如何使用nginx给自己开发的服务配置域名

解决这个问题需要有域名(要解析),服务器和自己的服务

================================================

以上可以条件都具备之后,修改服务器上的nginx配置即可。

修改nginx配置如下:

原配置(默认配置):

server {
    listen 80;
    server_name localhost;
}

修改后配置:

server {
    listen 80;
    server_name 你的域名点吸烟
    ;
}

作用是当用户访问域名"http://你的域名点吸烟"时调转到127.0.0.1:8989上

同时也可以指定具体的路径如下:

server {
    listen 80;
    server_name 你的域名点吸烟
    ;
}

作用是当用户访问路径"http://你的域名点吸烟/start"时调转到127.0.0.1:8989/home/start上

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号