nginx同一連接埠監聽多個網域名稱和同時監聽http,https

來源:互聯網
上載者:User

標籤:nginx

1、同一連接埠監聽多個網域名稱

如今公網ip資源越來越珍貴,多網域名稱監聽應用非常廣泛,就是用一個連接埠,比如80或者443,監聽多個入口網域名稱。如下:

    server {
        listen 443 ssl;
        server_name  xxx.xxx.cn;
        ssl_certificate         ssl/server.pem;
        ssl_certificate_key  ssl/server.key;

        ......

    }

在啟用新的網域名稱的時候,只需要另啟一個server設定檔,丟在vhosts目錄下即可,不會報連接埠被占,這個維護nginx的大部分人都知道。但是,這裡有個地方要注意:不能跨nginx執行個體。很多同事習慣在同一虛機或者雲主機下安裝多個nginx執行個體,如果你在執行個體1裡面用了某個連接埠,再在執行個體2裡面用這個連接埠綁不同網域名稱,那對不起了,報錯妥妥的出來:
nginx: [emerg] bind() to 0.0.0.0:xxxx failed (98: Address already in use)
nginx: [emerg] still could not bind()


個人建議:不在同一台虛機或者雲主機下安裝多個nginx執行個體,


2、http和https同時監聽

這種需求還是挺多的,有時候我們的認證需要安裝在A10或者F5這類硬負載平衡上,此時,DMZ區的伺服器不需要安裝認證,只需要監聽http連接埠即可。但與此同時,內網dns直接將A地址指到了伺服器,此時又需要在伺服器上安裝認證。這種情境,就需要伺服器同時對http和https連接埠進行監聽,監聽https口是為瞭解析內網https網域名稱,監聽http口是為了反向 Proxy從DMZ區過來的http請求。如此,可實現內外網https網域名稱統一。


配置如下:

    server {
        listen       8080;
        listen       443 ssl;
        server_name  xxx.xxx.cn;;
        ssl_certificate      ssl/server.pem;
        ssl_certificate_key  ssl/server.key;

        ......

    }





本文出自 “記憶片段” 部落格,請務必保留此出處http://weikle.blog.51cto.com/3324327/1907852

nginx同一連接埠監聽多個網域名稱和同時監聽http,https

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.