一個ip, 兩個域名, 兩個ssl, 訪問多個不同的項目


在前面一篇中說過, 入了好幾個坑. 后來使用了nginx+tomcat配置的方式. 終於成功了. 因為頭一次使用nginx, 不知道具體怎么操作, 於是我在操作的時候, 按照以下幾個步驟執行的:

 

導航

第一步. tomcat啟動, 可以訪問tomcat啟動頁. 通過ip地址+端口號在瀏覽器訪問, 看是否能夠訪問到啟動頁. 

第二步: 在nginx.conf配置第一個域名, 比如說是www.aaa.com, 讓域名映射到tomcat端口里, 然后在瀏覽器訪問這個域名, 看是否能夠看到tomcat啟動頁. 

第三步: 在nginx.conf中配置第二個域名, 比如說www.bbb.com, 因為第一個域名成功訪問了, 第二個域名就很簡單了, copy patse就可以了. 

第四步: 結果是兩個域名都能跳轉到tomcat啟動頁, 使用ip地址+端口號訪問也可以跳轉到啟動頁.

這之前tomcat沒有做任何的修改, 就是原tomcat包, 解壓, 啟動.

第五步: 配置每個域名對應一個tomcat項目. 配置的時候也是一個一個配置, 保證一個成功了, 再配另一個.

 

----------------------------------------------------------

詳細步驟:

第一步: 解壓tomcat, 修改配置文件server.xml, 將8080端口改為默認端口80. 這樣通過域名訪問的時候不用輸入端口號. 改完直接啟動.

修改server.xml端口

通過ip訪問, 能夠進入到tomcat啟動頁

 

第二步: 配置nginx. 這里有包含好幾步, 如下:

參考文章: https://www.cnblogs.com/beyang/p/7718463.html

 

1. 首先購買https,獲取到CA證書,兩個域名就得到兩套證書

 

2. 現在就是Nginx和OpenSSL的安裝與配置(這里注意,一般情況下一個IP只支持一個SSL證書,那么我們現在要在一個IP上實現多個SSL證書,就必須讓Nginx支持TLS SNI,由於默認的OpenSSL是沒有打開TLS SNI的)

  1)Nginx支持多域名SSL證書是需要OpenSSL庫支持的,CentOS5.X的OpenSSL庫本身不支持這種特性,需要重新下載編譯,步驟如下:

    wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zh.tar.gz
    tar zxvf ./openssl-0.9.8zh.tar.gz

  2)下載Nginx,進行配置

    wget http://nginx.org/download/nginx-1.8.0.tar.gz

      tar zxf nginx-1.8.0.tar.gz 

    cd nginx-1.8.0

    ./configure --prefix=/usr/local/nginx1.8.0 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=../openssl-0.9.8zh 

    (此處會報錯:出現pcre庫沒找到或zlib沒找到,

    在CentOS下可以使用      yum -y install pcre-devel zlib-devel   進行安裝缺失的組件)

     make && make install

  3)檢查Nginx狀態

    /usr/local/nginx1.8.0/sbin/nginx -V

    得到如下結果就說明配置好了:

    nginx version: nginx/1.8.0
    built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55)
    built with OpenSSL 0.9.8zh 3 Dec 2015
    TLS SNI support enabled      #可以看到TLS SNI support打開了
    configure arguments: --prefix=/usr/local/nginx1.8.0 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=../openssl-0.9.8zh

  

  4. 配置Nginx 應用服務器(這一步和參考文章不完全一樣)

    安裝nginx以后, nginx會安裝在/usr/local/nginx-1.8.0下.   

    證書放置到 Nginx/conf/cert  目錄下

    (這里有一個坑: 西部數據上說, 配置nginx的時候要復制crt的全部內容,放在cer頭部, 但是我這樣做了, 確提示說密碼錯誤. 直接將cer放作為秘鑰文件, 不報錯)

    

    nginx.conf文件如下

    

 

    啟動Nginx:報錯-

    nginx: [emerg] getpwnam(“www”) failed錯誤

    錯誤的原因是沒有創建www這個用戶,應該在服務器系統中添加www用戶組和用戶www,如下命令:

    #/usr/sbin/groupadd -f www
    #/usr/sbin/useradd -g www www

 

    然后通過域名訪問, 看是否能跳轉到localhost:80里去. OK, 在配置下一個域名.

第三步: 配置第二個域名, 配置方法和前一個一模一樣, 在nginx.xml中復制一份server,修改對應的域名即可.  然后訪問域名, 看是否能夠跳轉到localhost:80里去.

    到目前為止, 可以通過ip地址, 兩個域名訪問到tomcat了.  也就是, 可以2個域名都可以訪問到項目了.

 

第四步: 配置tomcat中的host. 我這里還沒有配置. 后續補充

其他配置默認就可以.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM