nginx配置二級域名以及ssl證書,真的很簡單

昨天用nginx和cerbot免費的讓本身的網站能https訪問了,整個流程很簡單,基本上不會碰到問題,連接在這:nginx使用certbot免費ssl證書,https很簡單今天又突發奇想,給本身的網站配置一下二級域名,要否則很雜亂,好比我轉們寫博客的,就搞個二級域名blog,好比我專門弄接口,就搞個二級域名api。想法來了,直接行動。html

    • -

步驟大體分爲三步:nginx

1.DNS添加二級域名
2.nginx配置二級域名
3.二級域名配置ssl
4.讓配置文件生效vim

    • -

1.DNS添加二級域名

要想配置二級域名,DNS那邊確定要先配置一下,個人域名註冊商是godaddy,我以godaddy爲例,其餘域名商也大同小異。segmentfault

在記錄中添加 A類型,主機填你想要的二級域名,好比個人是api,那麼我直接填api,指向填主機ip地址。
我這裏放個表格示意一下。api

類型 主機 指向 TTL
A api 52.68.xxx.xxx 默認便可

2.nginx配置二級域名

DNS配置完了,就來到nginx這邊,其實配置方法和域名配置大體相同,我在這裏記錄一下。session

nginx.conf裏面已經有了咱們域名的配置,如今咱們還要加二級域名api的配置,這只是一個二級域名,若是是多個,nginx.conf就會變得很是雜亂,因此咱們新建配置文件。網站

在conf目錄下也就是nginx.conf同級新建一個目錄專門用來存放咱們本身的配置文件。
在conf目錄下運行命令code

mkdir conf.d

chmod 777 conf.d

新建目錄並賦予權限server

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

加入一下內容htm

# 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。就記錄到這裏。

相關文章
相關標籤/搜索