乐趣区

关于nginx:nginx配置二级域名以及ssl证书真的很简单

昨天用 nginx 和 cerbot 收费的让本人的网站能 https 拜访了,整个流程很简略,基本上不会碰到问题,链接在这:nginx 应用 certbot 收费 ssl 证书,https 很简略明天又突发奇想,给本人的网站配置一下二级域名,要不然很芜杂,比方我转们写博客的,就搞个二级域名 blog, 比方我专门弄接口,就搞个二级域名 api。想法来了,间接口头。

步骤大抵分为三步:

1.DNS 增加二级域名
2.nginx 配置二级域名
3. 二级域名配置 ssl
4. 让配置文件失效

1.DNS 增加二级域名

要想配置二级域名,DNS 那边必定要先配置一下,我的域名注册商是 godaddy, 我以 godaddy 为例,其余域名商也大同小异。

在记录中增加 A 类型,主机填你想要的二级域名,比方我的是 api, 那么我间接填 api, 指向填主机 ip 地址。
我这里放个表格示意一下。

类型 主机 指向 TTL
A api 52.68.xxx.xxx 默认即可

2.nginx 配置二级域名

DNS 配置完了,就来到 nginx 这边,其实配置办法和域名配置大致相同,我在这里记录一下。

nginx.conf 外面曾经有了咱们域名的配置,当初咱们还要加二级域名 api 的配置,这只是一个二级域名,如果是多个,nginx.conf 就会变得十分芜杂,所以咱们新建配置文件。

在 conf 目录下也就是 nginx.conf 同级新建一个目录专门用来寄存咱们本人的配置文件。
在 conf 目录下运行命令

mkdir conf.d

chmod 777 conf.d

新建目录并赋予权限

cd conf.d
vim api.akazwz.com.conf

退出一下内容

# 80 server
server {
        listen       80;
        server_name  api.akazwz.com;
        return 301 https://$server_name$request_uri;
        location / {
            root   html/api;
            index  index.html index.htm;
        }
}

这个退出的 server 是配置 80 端口拜访的

3. 二级域名配置 ssl

再次编辑 新建的配置文件,在前面加上

# 443 ssl
server {
        listen       443 ssl;
        server_name  api.akazwz.com;

        ssl_certificate      /etc/letsencrypt/live/api.akazwz.com/fullchain.pem;
        ssl_certificate_key  /etc/letsencrypt/live/api.akazwz.com/privkey.pem;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            # 这里我间接写的 root 而后是文件夹,也能够写成其余的服务端口比方
            #  proxy_pass    http://127.0.0.1:8080;
            root   html/api;
            index  index.html index.htm;
        }

}

这里是配置 443 ssl 也就是 https 拜访的。

ssl_certificate      /etc/letsencrypt/live/api.akazwz.com/fullchain.pem;
ssl_certificate_key  /etc/letsencrypt/live/api.akazwz.com/privkey.pem;

这两个前面的门路就是用 certbot 生成的。具体的能够看我的另一篇文章 nginx 应用 certbot 收费 ssl 证书,https 很简略

4. 让新增的配置文件失效

咱们本人新建的配置文件当初是没有失效的,须要在 nginx.conf include 进去能力失效。

编辑 nginx.conf,在 http{} 外面最初一行加上

include conf.d/*.conf;

这就包含了 conf.d 文件夹外面的所有.conf 配置文件。
留神:批改配置文件时要留神前面的 ” ; “。
老操作,改完配置重启失效

systemctl stop nginx
systemctl start nginx
systemctl status nginx

到了这里,你的二级域名能拜访了,而且还是 https。
就记录到这里。

退出移动版