1. 程式人生 > >springboot專案部署到ubuntu18.04的過程,http跳轉https,使用acme.sh安裝證書

springboot專案部署到ubuntu18.04的過程,http跳轉https,使用acme.sh安裝證書

最近開發的友鏈聯盟專案即將"竣工”,準備拿到公有云Ubuntu是測試下,想要達到的理想狀態有如下幾點:

  1. 埠保持9090,釋出spring boot的jar包,後臺執行
  2. nginx部署,強制https訪問應用
  3. 使用acme.sh來生成、安裝ssl證書
  4. 開啟防火牆,開啟80、443埠,關閉9090埠(避免直接訪問9090開啟應用)

目前已經完成上面的要求,可以嘗試訪問http://sitefriendlinks.comhttp://sitefriendlinks.com:9090,前者會強制跳轉到https://sitefriendlinks.com,後者無法開啟。

環境安裝

  1. nginx

    apt install nginx
    

    安裝後自動就啟動了,你可以用如下命令進行開啟和關閉:

    service nginx stop
    service nginx start
    service nginx restart # 重啟
    
  2. mysql

    apt install mysql-server
    

    詳情請看:https://www.jianshu.com/p/3821c2603b92

    需要注意修改root密碼:

    show databases;
    
    use mysql;
    
    update user set authentication_string=PASSWORD("yourpassword") where user='root';
    
    update user set plugin="mysql_native_password";
    
    flush privileges;
    
    quit;
    
  3. java 8

    apt install openjdk-8-jre-headless
    

    參考連結

部署nginx

server {
        listen       80;
        server_name  sitefriendlinks.com;
        rewrite ^(.*)$ https://$host$1 permanent;
}

server {
        listen       443;
        server_name  sitefriendlinks.com;
        ssl          on;
        ssl_certificate /etc/nginx/ssl/fullchain.cer;
        ssl_certificate_key /etc/nginx/ssl/sitefriendlinks.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
        location / {
            proxy_pass              http://localhost:9090/;
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto $scheme;
            proxy_set_header        X-Forwarded-Port $server_port;
        }
}

使用acem.sh安裝證書

參考文件:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

關鍵步驟:

  1. 建立別名
alias acme.sh=~/.acme.sh/acme.sh
  1. 生成證書
acme.sh --issue  -d mydomain.com   --nginx
  1. 安裝證書
acme.sh  --installcert  -d  <domain>.com   \
        --key-file   /etc/nginx/ssl/<domain>.key \
        --fullchain-file /etc/nginx/ssl/fullchain.cer \
        --reloadcmd  "service nginx force-reload"

注意,你需要手動建立/etc/nginx/ssl目錄,不如上面的安裝命令會報路徑錯誤

此時,你已經能正常用https開啟你的網站了

開啟防火牆

Ubuntu的防火牆命令是ufw,參考:https://www.cnblogs.com/yuanlipu/p/7103740.html

先查詢下防火牆是否開啟:

sudo ufw status

如果沒開啟,則開啟防火牆

sudo ufw enable

預設情況下,防火牆是會把所有埠都關閉的,不允許外界訪問,但是我們要做三件事:開啟80、443埠,關閉9090埠

sudo ufw allow 80
sudo ufw allow 443
sudo ufw deny 9090

此時,咱們的伺服器會變的非常安全,注意哦,因為沒開啟3306埠,所以你的資料庫是無法遠端訪問的,如需要則開啟3306埠即可。

後臺執行spring boot工程

把打包好的jar包發到伺服器(通常用scp命令即可),然後執行如下命令即可後臺啟動:

nohup java -jar sitefriendlinks.jar >> ./output.log 2>&1 &

ok,部署完成!

by

相關推薦

springboot專案部署ubuntu18.04過程httphttps使用acme.sh安裝證書

最近開發的友鏈聯盟專案即將"竣工”,準備拿到公有云Ubuntu是測試下,想要達到的理想狀態有如下幾點: 埠保持9090

Apache配置.htaccess檔案 http自動https隱藏index.php

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{

記錄一次配置httphttps過程

http https 網站跳轉 公司最近搞了一個數據運營平臺,這個平臺會以web界面的形式把各個數據展示出來,這個項目是我們一個經理的重點關照項目。把平臺模塊部署完畢並且啟動之後,又把這個平臺服務器的外網IP綁定到alkaid.lechange.com這個域名上,在瀏覽器裏輸入https://al

springboot--httphttps

boot.s store splay height imp gen package servlet int SSL是為網絡通信提供安全以及保證數據完整性的的一種安全協議,SSL在網絡傳輸層對網絡連接進行加密。 例:cas 的單點登陸就用到了SSL 一、安全證書的生成 1、

ngxin做http強制https接口的POST請求變成了GET

nginx http https ssl postget 公司準備將 http 換成 https,就需要 http 強制跳轉到 https。這個在網上搜了下,基本總結下在 server 裏面配置 rewrite ^(.*)$ https://$host$1 permanent;或者在se

伺服器安全升級:ssl證書配置好設定httphttps的幾種方法 伺服器安全升級:ssl證書配置好設定httphttps的幾種方法

轉自https://blog.csdn.net/milli236/article/details/72142066 伺服器安全升級:ssl證書配置好,設定http跳轉https的幾種方法 2017年05月15日 14:17:09 milli236 閱

ngxin做http強制https介面的POST請求變成GET

http強制跳轉https出現了問題。修改nginx配置如下即可解決: server { listen 80; server_name *.snsprj.cn; return 307 https://$host$request_uri; } 301 Mov

nginx配置httphttps

文件 簡單 div 文件頭部 配置 gin list ... 需要 配置相當簡單,在配置文件頭部加一行,如下: server { listen *:80;//監聽80端口 return 301 htt

HTTPHTTPS第三篇

p s write 測試 直接 list 域名跳轉 mil /var/ star 一、實現訪問http跳轉https訪問(http的單向認證)①修改配置文件# vim /etc/httpd/conf/httpd.conf 增加在文件最後 <IfModule s

Jexus 在centos上配置 https 和 gzip(包括1 jexus設定 2..net core程式碼修改 3.httphttps 4.開啟gzip)

  一、只需要配置jexus,將現有的http網站改成https 1.首先檢視“/lib”或“/usr/lib”等系統庫資料夾中是否有SSL庫檔案的名字,該檔名應該是“libssl.so.版本號”(find / -name libssl.so.*),如

使用iframe框架後的頁面執行命令目標頁面內嵌至iframe的子頁面的解決方法

問題描述:         在做專案的過程中,需要完成修改密碼後重新登入的功能,但是前端頁面使用了IFrame的框架,修改頁面內嵌在的index.html中, 重新登入的頁面就內嵌到原來的頁面中。 問題如圖所示: 修改密碼成功後: 出現問題,修改密碼頁面

nginx從httphttps

安全考慮把http連結改為https連結 前端使用nginx作為多個php例項的反向代理和負載均衡 實際上只需要在nginx上啟用https即可,使客戶端與nginx之後使用https方式通訊,而nginx與tomcat之間依然以http方式通訊。 現在需要將之前客戶端所有的http

httphttps配置例項

作用段:    server {         listen 80;         server_name aa.bb.ai;       #訪問http://aa.bb.ai的請求跳轉到https://aa.bb.ai        rewrite ^/(.*)$

【伺服器】iis httphttps

前言 自從安裝 iis + phpstudy + ssl的https證書後 ,在百度內百度了很多啊,都是很麻煩的步驟,今天給大家帶來一個非常簡單的 http 轉向https請求配置 we

web頁面httphttps

IIS 版本 Iis中實現Http自動轉換到Https方法介紹  修改以下檔案:IIS6.0 路徑:C:\WINDOWS\Help\iisHelp\common\403-4.htm IIS7.0以上 路徑:C:\inetpub\custerr\zh-CN\403.htm

Tomcat 8.5 配置自動從httphttps

ons welcome 配置 自己 方案 guarantee constrain http xml文件 1、需要修改Tomcat目錄下的conf/server.xml文件兩處地方,Http端口,從默認的8080改為80;Https端口從8443改為443;(80\443分別

安裝Ubuntu18.04過程

安裝 IT sys partition art 主分區 ice boot分區 device 制作啟動U盤   準備好ISO文件,使用 rufus-2.18 制作啟動U盤。“Partition scheme and target system type” 建議選擇 “MBR,

springboot專案部署到tomcat中

一、打包方式  pom.xml中的packaging設定成war<packaging>war</packaging> 二、移除嵌入式的tomcat外掛  在pom檔案中找到spring-boot-starter-web依賴

打包springboot專案部署到雲伺服器以及其他一些操作

1.專案打包:https://blog.csdn.net/qq_34409900/article/details/80561277 2.新增yum源:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaT

ubuntu18.04無法下載 http://dl.google.com/linux/chrome/deb/dists/stable/InRelease 無法連線上 dl.google.com:80

ubuntu更新(sudo apt-get update)時, 出現錯誤: “Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release Unable to find expected entry ‘main/