国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

這篇具有很好參考價值的文章主要介紹了云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、云服務器準備:阿里云、騰訊云等都可(這里不多介紹有錢就好)

二、域名注冊與ssl證書準備:

1,域名注冊:

2,域名解析:

3、SSL證書申請:

?4、證書下載:

?三、后端服務項目準備:

四、docker+nginx環(huán)境準備

docker安裝:CentOS Docker 安裝 | 菜鳥教程 (runoob.com)

nginx的創(chuàng)建

將后端服務程序加入nginx的配置中:

五、配置小程序合法請求域名配置



一、云服務器準備:阿里云、騰訊云等都可(這里不多介紹有錢就好)

二、域名注冊與ssl證書準備:

1,域名注冊:

前往購買ES的商家進行域名注冊,找一些冷門的域名很便宜,本人1塊大洋嫖了一年的阿里云域名。

2,域名解析:

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

注意:域名注冊以后需要進行備案,個人開發(fā)建議不要涉及到企業(yè)相關(guān)的詞匯。

3、SSL證書申請:

在每一個平臺上都會有免費的證書,基本上都是一年。

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

?4、證書下載:

這里需要tomcat與nginx的證書,tomcat證書是部署在springBoot項目里面,而nginx證書是放置在nginx的證書掛載目錄下。

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

?三、后端服務項目準備:

  1. 將下載好的tomcat證書(XXXXX.jks)集成到自己的項目中的resource目錄下

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

2.新建一個application.yml的文件專門配置服務端口:

server:
  port: 9101 //https請求端口
  ssl:
    key-store: 你的證書名.jks
    key-store-password: 你的密碼
    key-store-type: JKS //證書類型這里是JKS
my:
  httpServer:
    port: 8101 //http請求端口

?注意:這里建議先去服務器的安全組中將端口添加進安全組。

?3.編輯TocmatConf

package cn.zhangsong.nlstudy.conf;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * Created with Intellij IDEA
 *
 * @Auther:zhangsong
 * @Date:2022-10-20-20:08
 * @Description: tomcat配置http轉(zhuǎn)htttps
 */
@Configuration
public class TomcatConfig {
    @Value("${my.httpServer.port}")
    private Integer httpServerPort; //http的端口
    @Value("${server.port}")
    private Integer serverPort;//https的端口,也是配置文件中配置的端口
    @Bean
    public ServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(redirectConnector());
        return tomcat;
    }

    private Connector redirectConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(httpServerPort);
        connector.setSecure(false);
        connector.setRedirectPort(serverPort);
        return connector;
    }
}

?4.啟動項目進行校驗SSL證書是否集成到SpringBoot項目中:

查看tomcat日志有以下信息既是集成成功!

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

?5.項目打包成.jar上傳到云服務器:

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

點擊package進行打包然后轉(zhuǎn)到taget目錄下可以看見和項目名一樣的一個.jar文件將其上傳到云服務器

?云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

?5.運行.jar文件

nohup java -jar xxx.jar > log.out  2>&1 &

詳情可以參考:linux下后臺啟動springboot項目 - 少說點話 - 博客園 (cnblogs.com)

?啟動以后查看一下日志,看看是否有上面的https的日志輸出。

四、docker+nginx環(huán)境準備


docker安裝:CentOS Docker 安裝 | 菜鳥教程 (runoob.com)


nginx的創(chuàng)建

1.創(chuàng)建nginx運行需要的數(shù)據(jù)卷文件

mkdir -p /data/nginx/{conf,conf.d,html,logs,certs}

2.將下載好的nginx的證書解壓到certs文件下

3.在conf文件下創(chuàng)建nginx.conf

user  nginx;
worker_processes  auto; #一般為cpu核數(shù)
 
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
  #log格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  /var/log/nginx/access.log  main;
 
    sendfile        on;
    #tcp_nopush     on;
 
    keepalive_timeout  65;
 
    gzip  on; #開啟壓縮
 
    include /etc/nginx/conf.d/*.conf;
}

4.在html文件下創(chuàng)建index.html文件

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
 
<p>For online documentation and support please refer to
<a >nginx.org</a>.<br/>
Commercial support is available at
<a >nginx.com</a>.</p>
 
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

5.在/data/nginx/conf.d/目錄創(chuàng)建default.conf

server {
    listen       80;
    listen  [::]:80;
  server_name 你的域名; #填寫域名
  #將所有HTTP請求通過rewrite指令重定向到HTTPS
    rewrite ^(.*) https://$server_name$1 permanent;
}
 
#配置443端口
server {
    listen 443 ssl;  # 1.1版本后這樣寫
        server_name 你的域名; #填寫域名
    
        ssl_certificate certs/證書名稱.pem;  #需要將cert-file-name.pem替換成已上傳的證書文件的名稱。
    ssl_certificate_key certs/證書名稱.key; #需要將cert-file-name.key替換成已上傳的證書私鑰文件的名稱。
    
        ssl_session_timeout 5m;
        #表示使用的加密套件的類型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS協(xié)議的類型。
    ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    
    ssl_session_cache shared:SSL:1m;
 
        fastcgi_param  HTTPS        on;
        fastcgi_param  HTTP_SCHEME     https;
    
  location / {
    proxy_set_header   X-Real-IP         $remote_addr;
    proxy_set_header   Host              $http_host;
    proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        root html;
        index index.html index.htm;
    }
}

6.創(chuàng)建nginx容器并啟動

docker run --name nginx -d -p 80:80 \
 -p 443:443 \
 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  \
 -v /data/nginx/conf.d/:/etc/nginx/conf.d \
 -v /data/nginx/html:/etc/nginx/html \
 -v /data/nginx/logs:/var/log/nginx \
 -v /data/nginx/certs:/etc/nginx/certs \
 -v /etc/localtime:/etc/localtime:ro \
 nginx:1.21.4

7.輸入域名進行訪問驗證是否有https請求,如發(fā)現(xiàn)錯誤檢查nginx配置文件。


將后端服務程序加入nginx的配置中:

1.更改nginx.conf

server {
    listen       80;
    listen  [::]:80;
  server_name 你的域名; #填寫域名
  #將所有HTTP請求通過rewrite指令重定向到HTTPS
    rewrite ^(.*) https://$server_name$1 permanent;
}
upstream myapp{
 server ip:9101; #此處的ip寫服務器的真實ip,因為是docker構(gòu)建的,不然可能訪問不到
 server ip:9100 backup; #備機沒有可以不寫
}
server {
    listen 443 ssl;  
  server_name 你的域名; 
  ssl_certificate certs/證書名稱.pem;  
  ssl_certificate_key certs/證書名稱.key; 
  
  ssl_session_timeout 5m;
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  
  ssl_session_cache shared:SSL:1m;
 
  fastcgi_param  HTTPS        on;
  fastcgi_param  HTTP_SCHEME     https;
  
    location / {
    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_connect_timeout   10s;
    proxy_send_timeout      60s;
    proxy_read_timeout      60s;
        proxy_ignore_client_abort   on;
    proxy_pass https://myapp/; #此處與上面的upstream處對應
    }
  
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

2.重啟nginx容器

3.使用接口測試工具進行后端服務接口測試,驗證https請求是否成功,本人一次成功

注意踩坑:必須重新啟動容器重新加載配置文件

五、配置小程序合法請求域名配置

登錄微信小程序開發(fā)設置中配置:

云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求

?到這里就大功告成了。就可以接下來的小程序真機調(diào)試以及開發(fā)了。文章來源地址http://www.zghlxwxcb.cn/news/detail-485508.html

到了這里,關(guān)于云服務器+docker+nginx+tomcat實現(xiàn)小程序https請求的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Ubuntu 使用 nginx 搭建 https 文件服務器

    Ubuntu 使用 nginx 搭建 https 文件服務器

    安裝 nginx 生成證書 修改 config 重啟 nginx apt 安裝: 使用 openssl 生成證書: 到對應的路徑下: /etc/nginx/ssl/ 修改 nginx 對應的 config 文件: /etc/nginx/site-enable/default

    2024年02月06日
    瀏覽(26)
  • Nginx與Tomcat的區(qū)別,什么是HTTP服務器(處理靜態(tài)資源的服務器),什么是處理動態(tài)資源的服務器

    Nginx與Tomcat的區(qū)別,什么是HTTP服務器(處理靜態(tài)資源的服務器),什么是處理動態(tài)資源的服務器

    Nginx和Tomcat都是常用的Web服務器,但它們的主要作用不同。 Nginx是一個HTTP服務器,反向代理服務器和通用TCP/UDP代理服務器。 它通常用于靜態(tài)內(nèi)容、媒體流和負載均衡。在高流量和高并發(fā)負載下,Nginx表現(xiàn)更出色,并且能夠輕松處理靜態(tài)文件、壓縮和SSL/TLS卸載等任務,以減輕

    2024年02月14日
    瀏覽(27)
  • 基于ssm+shiro+redis+nginx tomcat服務器集群管理項目

    畢業(yè)設計——基于ssm+shiro+redis+nginx tomcat服務器集群管理項目 完整項目地址:https://download.csdn.net/download/lijunhcn/88430549 1.搭建一個最簡潔,模塊劃分最明確的ssm+swargger+shiro+redis+nginx整合項目,采用maven作為構(gòu)建工具,在有新項目開發(fā)時可以借助此demo快速構(gòu)建項目 2.實現(xiàn)shiro的授

    2024年02月03日
    瀏覽(21)
  • nginx一臺服務器上配置兩個https 域名網(wǎng)站

    要在 Nginx 中配置兩個 HTTPS 網(wǎng)站,您需要執(zhí)行以下步驟: 在服務器上安裝 SSL 證書。您需要為每個網(wǎng)站安裝單獨的 SSL 證書。 在 Nginx 配置文件中創(chuàng)建兩個 server 塊,每個塊代表一個網(wǎng)站。 在每個 server 塊中,配置 SSL 證書和密鑰文件的路徑。 配置每個 server 塊的 server_name 指令

    2024年02月10日
    瀏覽(30)
  • Docker Tomcat 搭建文件服務器

    Docker Tomcat 搭建文件服務器

    本文基于openwrt上進行。 步驟 1: 安裝 Docker 如果尚未安裝Docker,首先需要安裝Docker。根據(jù)你的操作系統(tǒng),參考Docker官方文檔來完成安裝, 這里不做詳細介紹。 步驟 2: 拉去docker Tomcat鏡像 進入openwrt管理界面,docker選項中 拉取最新的tomcat鏡像。 步驟 3: 配置并運行Tomcat 在容器選項

    2024年02月06日
    瀏覽(28)
  • 34、springboot切換內(nèi)嵌Web服務器(Tomcat服務器)與 生成SSL證書來把項目訪路徑從 HTTP 配置成 HTTPS

    34、springboot切換內(nèi)嵌Web服務器(Tomcat服務器)與 生成SSL證書來把項目訪路徑從 HTTP 配置成 HTTPS

    知識點1:springboot切換內(nèi)嵌Web服務器(Tomcat服務器) 知識點2:生成SSL證書來把項目訪路徑從 HTTP 配置成 HTTPS spring-boot-starter-web 默認依賴 Tomcat 內(nèi)置服務器 改為 Jetty 服務器 改為 Undertow 服務器 目的:把請求路徑 http://xxxxx 改成 https://xxxxx 如圖:原本普通的項目,啟動后是http的

    2024年02月11日
    瀏覽(28)
  • 阿里云服務器部署flask項目「gunicorn + nginx + 支持https」

    阿里云服務器部署flask項目「gunicorn + nginx + 支持https」

    最近做了一個微信小程序,使用 flask 實現(xiàn)了對應的后臺,上線需要部署到服務器上,之前只是了解并沒有全鏈路試過,靠著網(wǎng)上的資料最終完成部署上線,但中間遇到了較多的一些問題,網(wǎng)上的資料也比較零碎,所以整理了這篇文章,一方面是作為記錄方便后續(xù)查閱,另一方

    2024年02月06日
    瀏覽(23)
  • 畢業(yè)設計——基于ssm+shiro+redis+nginx tomcat服務器集群管理項目

    畢業(yè)設計——基于ssm+shiro+redis+nginx tomcat服務器集群管理項目 完整項目地址:https://download.csdn.net/download/lijunhcn/88430549 1.搭建一個最簡潔,模塊劃分最明確的ssm+swargger+shiro+redis+nginx整合項目,采用maven作為構(gòu)建工具,在有新項目開發(fā)時可以借助此demo快速構(gòu)建項目 2.實現(xiàn)shiro的授

    2024年02月04日
    瀏覽(25)
  • 基于OpenSSL和nginx搭建本地https服務器(詳細實操版)

    基于OpenSSL和nginx搭建本地https服務器(詳細實操版)

    (??? ),Hello我是 祐言QAQ 我的博客主頁:C/C++語言,數(shù)據(jù)結(jié)構(gòu),Linux基礎(chǔ),ARM開發(fā)板,網(wǎng)絡編程等領(lǐng)域UP?? 快上??,一起學習,讓我們成為一個強大的攻城獅! 送給自己和讀者的一句雞湯??: 集中起來的意志可以擊穿頑石! 作者水平很有限,如果發(fā)現(xiàn)錯誤,請在評論區(qū)指

    2024年02月20日
    瀏覽(32)
  • 分布式 - 服務器Nginx:一小時入門系列之HTTPS協(xié)議配置

    分布式 - 服務器Nginx:一小時入門系列之HTTPS協(xié)議配置

    1. HTTPS 協(xié)議 HTTPS 是一種通過計算機網(wǎng)絡進行安全通信的協(xié)議。它是HTTP的安全版本,通過使用 SSL 或 TLS 協(xié)議來加密和保護數(shù)據(jù)傳輸。HTTPS的主要目的是確保在客戶端和服務器之間傳輸?shù)臄?shù)據(jù)是加密的,以防止第三方竊聽、篡改或偽裝。它通過使用公鑰加密和私鑰解密的方式來

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包