1. 程式人生 > >Nginx反向代理Spring boot+vue.js多專案並使用SSL

Nginx反向代理Spring boot+vue.js多專案並使用SSL

1.下載最新版nginx對應其作業系統,安裝並執行成功;

2.申請SSL證書,騰訊雲、阿里雲都可以;

3.部署證書到nginx,可以參考)把兩個金鑰檔案儲存的`nginx/cert`資料夾,然後修改`nginx/nginx.conf`檔案:(www.yuming.com需要替換成你的域名)

  server {
      listen 443;
      server_name www.yuming.com;
      ssl on;
      ssl_certificate  nginx/cert/1_www.example.com_bundle.crt;
      ssl_certificate_key  
nginx/cert/2_www.example.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; }
>>重啟nginx後,在瀏覽器中輸入 https://www.yuming.com 檢測是否出現nginx的歡迎頁。
5.打包vue.js專案(使用命令npm run build,打包後在dist中) 載入
nginx靜態web檔案目錄
  繼續修改剛才修改的server 內容並新增:(請將dist替換成自己dist檔案所在的正確路徑)
    server {
        location / {
            root  dist;
            index index.html index.htm;
       }
    }
6.打包Springboot專案為jar,執行(cmd jar所在目錄: 命令java -jar project1.jar
  如果是多模組請注意埠衝突問題),並使用nginx反向代理。
繼續修改剛才修改的server 內容並新增:(請將埠號替換成自己專案訪問埠號)
server {
   location ^~ /module1 {
       proxy_pass  http://localhost:8081;
       proxy_set_header    Host    $host;
       proxy_set_header    X-Real-IP   $remote_addr;
       proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
       }
   location ^~ /module2 {
        proxy_pass  http://localhost:8082;
        proxy_set_header    Host    $host;
        proxy_set_header    X-Real-IP   $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

 訪問測試:https://www.yuming.com/module1 是否能訪問專案

                 https://www.yuming.com/module2 是否能訪問專案

注意:Vue.js訪問需要避免跨域問題。