主頁 >  其他 > Kong APIGW — Nginx

Kong APIGW — Nginx

2021-01-06 10:19:09 其他

目錄

文章目錄

  • 目錄
  • Nginx
  • Nginx 的安裝
  • Nginx 的基礎配置
  • 配置虛擬主機
  • 配置反向代理
  • 配置負載均衡
  • 配置 HTTPS

Nginx

Nginx 是俄羅斯人 Igor Sysoev 開發的一個開源的、輕量級的、高性能的、高可靠的 Web 和反向代理服務器,同時也是一個 IMAP/POP3/SMTP 代理服務器,在微服務的體系之下,Nginx 正在被越來越多的專案采用作為 APIGW 的底座,

  • Nginx 中文檔案:https://www.nginx.cn/doc/

截至 2019 年 12 月,差不多世界上每 3 個網站中就有 1 個使用了 Nginx,

在這里插入圖片描述

值得注意的是,所謂 Web(HTTP)服務器,只是一個靜態檔案服務器或者 HTTP 請求轉發器,它可以把靜態檔案的請求直接回傳靜態檔案資源,把動態檔案的請求轉發給后臺的處理程式,例如:php-fpm、apache、tomcat、jetty 等,另外,這些后臺服務即使沒有 Nginx 的情況下也是可以直接訪問的,只是更多的情況下這些后臺服務器被放置在防火墻的后面,不直接對外暴露,所以通過 Nginx 來作為轉換,

在這里插入圖片描述

Nginx 的安裝

  • 安裝
$ yum install epel-release -y
$ yum install nginx -y

$ nginx -v
nginx version: nginx/1.16.1
  • 關鍵檔案或目錄

    • /etc/nginx/nginx.conf:主組態檔;
    • /usr/share/nginx/html/:存放靜態檔案;
    • /var/log/nginx:存放日志檔案,
  • 啟動 Nginx:默認占有 0.0.0.0:80 埠,

systemctl enable nginx
systemctl start nginx
systemctl status nginx
  • 常用指令
nginx -s reload       # 向主行程發送信號,重新加載組態檔,熱重啟,
nginx -s reopen       # 重啟 Nginx,
nginx -s stop         # 快速關閉,
nginx -s quit         # 優雅關閉,
nginx -T              # 查看當前 Nginx 的配置,
nginx -t -c <組態檔路徑> # 檢查配置是否有問題,
  • 瀏覽器訪問 Nginx:http://localhost:80

在這里插入圖片描述

Nginx 的基礎配置

nginx.conf 的核心結構樹如下


main           # 全域配置,
├── events     # 配置 HTTP 服務器的基礎引數,例如:I/O 模型、行程最大并發數等,
├── http       # 配置代理,快取,日志等大多數功能,以及配置第三方模塊,
│ ├── upstream # 配置后端服務器的具體地址,
│ ├── server   # 配置虛擬主機的相關引數,可以存在多個 server 指令塊,作為 HTTP 虛擬主機,
│ ├── server
│ │ ├── location # 配置 URI paths 對應的檔案系統目錄路徑,一個 server 指令塊可以包含多個 location 指令塊,
│ │ ├── location
│ │ └── ...
│ └── ...
└── ...

組態檔的語法規則

  • 組態檔由指令與指令塊構成;
  • 每條指令以 “;” 分號結尾,指令與引數間以空格號分隔;
  • 指令塊以 {} 大括號將多條指令組織在一起;
  • include 陳述句允許組合多個組態檔以提升可維護性;
  • 使用 # 符號添加注釋,提高可讀性;
  • 使用 $ 符號使用變數;
  • 部分指令的引數支持正則運算式;

全域變數:可以在配置的任何位置使用它們,

在這里插入圖片描述

配置虛擬主機

在 HTTP/1.0 中會為每臺 HTTP Server 都系結一個唯一的 IP 地址,因此,請求訊息中的 URL 并沒有傳遞主機名(Hostname),但隨著虛擬主機技術的發展,在一臺物理服務器上可以存在多個虛擬主機(Multi-homed Web Servers),并且它們共享一個 IP 地址,HTTP/1.1 的請求訊息和回應訊息都應支持 Host 頭域,且請求訊息中如果沒有 Host 頭域會報告一個錯誤(400 Bad Request),

通常的,我們可以實作:

  • 基于 IP 的虛擬主機,
  • 基于 Port 的虛擬主機,
  • 基于 Domain Name 的虛擬主機,

配置

$ cat /etc/nginx/nginx.conf
...
http {
...
    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  nginx1.com;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            root         /usr/share/nginx/html;
            index        index.html;
        }

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

    server {
        listen 80;
        server_name fanguiju.com;

        location / {
        	root  /usr/share/nginx/html/fanguiju;
        	index index.html;
        }
    }
}

$ mkdir /usr/share/nginx/html/fanguiju
$ cat /usr/share/nginx/html/fanguiju/index.html
fanguiju.com

$ nginx -s reload

測驗

$ curl -X GET http://127.0.0.1:80/
nginx1.com

$ curl -X GET http://127.0.0.1:80 -H "host: fanguiju.com"
fanguiju.com

配置反向代理

在這里插入圖片描述

反向代理可以將一類(對特定 URL 的)請求轉發到指定的 URL 上,

配置:將 http://fanguiju.com/ 反向代理到 http://www.baidu.com/,注意 “/” 可以是任意路徑,

    server {
        listen 80;
        server_name fanguiju.com;

        location / {
            proxy_pass http://www.baidu.com;
        }
    }

測驗

$ curl -X GET http://127.0.0.1:80/ -H "host: fanguiju.com"
...
<title>百度一下,你就知道</title>

反向代理的關鍵指令

  • proxy_set_header:指定在將客戶端請求發送給后端服務器之前,更改來自客戶端的請求頭資訊;
  • proxy_connect_timeout:指定與后端代理服務器的連接超時時間;
  • proxy_read_timeout:指定與后端服務器的 Read 超時時間;
  • proxy_send_timeout:指定與后端服務器組的 Write 超時時間;
  • proxy_redirect:指定用于修改后端服務器回傳的回應頭中的 Location 和 Refresh,

配置負載均衡

在這里插入圖片描述
Nginx 提供了幾種負載均衡方式,默認為輪詢:

  • 輪詢:按時間順序將請求逐一分配到不同的后端服務器,如果后端服務器掛了,可以自動剔除;
  • weight(權重分配):指定輪詢幾率,權重越高,被訪問的概率越大,用于后端服務器性能不均的情況;
  • ip_hash:每個請求按訪問 IP 的 hash 結果分配,這樣可以保證每個客戶端固定訪問到一個后端服務器,應用與 Session 等有狀態訪問的場景,
  • fair(第三方):按后端服務器的回應時間分配,回應時間短的優先分配,依賴第三方插件 nginx-upstream-fair,需要先安裝;

配置


http {
    upstream server-hostname {
  	    # ip_hash;
        # fair;
        server 127.0.0.1:8081;
        server 127.0.0.1:8080;
        server 127.0.0.1:8082 weight=10;
    }
 
    server {
    	listen 80;
    	server_name fanguiju.com;
    	
        location / {
        	proxy_pass http://server-hostname;  # Server 的反向代理目標和 Upstream 通過 {server-hostname} 進行匹配,
            proxy_connect_timeout 10;
        }
    }
}

配置 HTTPS

HTTPS 是在 HTTP 和 TCP 之間加上一層 TLS 加密層,

  • 客戶端向服務端發送訊息時:本質上是客戶端使用服務端的公鑰來加密資訊,服務端使用自己的私鑰進行解密,
  • 客戶端從服務端獲取訊息時:服務端使用自己私鑰加密,客戶端使用服務端的公鑰來解密資訊,

因為,在這個程序中,需要保證服務端發送給客戶端的公鑰不是假冒的,而證明服務端公鑰安全性的機構是 CA(數字認證中心),

可以簡單理解為:如果想證明一個人的身份是真的,就只需要證明這個人的身份證是真的,而充當 CA 就是部門機構,數字證書就相當于物理世界中的身份證,

HTTPS 證書認證流程

  1. 服務端生產自己的公鑰和私鑰,并將自己的數字證書(包括:公鑰、域名、其他資訊)請求 CA 進行簽名,CA 使用自己的私鑰對數字證書進行加密,以此簽發 Server 證書,只有 CA 的公鑰(CA 證書)才能解開,
  2. 服務端將自己的 Server 證書發送給瀏覽器,
  3. 瀏覽器的 “證書管理器” 中有 “受信任的根證書頒發機構” 串列,客戶端在接收到服務端的回應后,會在這個串列里查看是否存在解開該 Server 證書的 CA 證書,有兩種錯誤情況:1)如果 CA 證書在這個串列里,但是解碼后的內容不匹配,說明 Server 證書被冒用了;如果 CA 證書不在這個串列里,說明這張 Server 證書不是受信任的機構所頒發,其真實性無法確定,
  4. 只要 Server 證書(證書里有服務端的公鑰)是可信的,那么 Server 公鑰就是可信的,如果一切都沒問題,瀏覽器就可以使用 CA 證書解密 Server 證書,得到 Server 的公鑰,并使用 Server 公鑰對資訊內容進行加密,然后與服務器交換資訊(已加密),
+--------------+           +------------------+
|    服務端    |---------->| 數字認證中心 (CA) |
+------+-------+    1    X +------------------+
       |                / /
       |               / /
       |              / /
       |             / /
       |2         3 / / 4
       |           / /
       |          / /
       |         / /
       X        / /
+--------------+ /
|    瀏覽器    |X
+--------------+

制作證書:詳見《互聯網協議 — TLS — 使用 OpenSSL 自建 CA中心》

配置

# Settings for a TLS enabled server.

   server {
       listen       443 ssl default_server;
       listen       [::]:443 ssl default_server;
       server_name  nginx1.com;

       ssl_certificate "/root/nginx-cert/web.apigw.com/server.pem";
       ssl_certificate_key "/root/nginx-cert/web.apigw.com/server.key";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers on;

       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

       location / {
           root         /usr/share/nginx/html;
           index        index.html index.htm;
       }

       error_page 404 /404.html;
       location = /404.html {
       }

       error_page 500 502 503 504 /50x.html;
       location = /50x.html {
       }
   }

測驗

$ nginx -s reload

$  netstat -lpntu | grep 443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      2996/nginx: master
tcp6       0      0 :::443                  :::*                    LISTEN      2996/nginx: master

# 忽略 TLS 認證進行訪問
$ curl -vvv -k -X GET https://127.0.0.1:443/
nginx1.com

# 攜帶 CA 證書進行訪問,這里會報錯,因為簽發證書時系結的域名不一致,
$ curl --cacert /root/nginx-cert/ca_01.pem -X GET https://127.0.0.1:443/
curl: (51) Unable to communicate securely with peer: requested domain name does not match the servers certificate.

可見,Server 證書是簽發給某個 Domain Name 的,如果 Web Server 不是這個 Domain Name,那么就算拿到了 Server 證書也無法正常使用,這個很好理解,因為 Server 證書是簽發給某個本地設備的,其他設備無法盜用,


# 攜帶 CA 證書和 Host 進行訪問,還會報錯,說明 TLS 認證只看 URL 中的 Domain Name,
$ curl -vvv --cacert /root/nginx-cert/ca_01.pem -X GET "https://127.0.0.1:443/" -H "host: web.apigw.com"
* About to connect() to 127.0.0.1 port 443 (#0)
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /root/nginx-cert/ca_01.pem
  CApath: none
* Server certificate:
* 	subject: CN=web.apigw.com,O=Dis,ST=Denial,C=US
* 	start date: 1月 05 07:31:30 2021 GMT
* 	expire date: 1月 05 07:31:30 2022 GMT
* 	common name: web.apigw.com
* 	issuer: CN=web.apigw.com,O=Dis,L=Springfield,ST=Denial,C=US
* NSS error -12276 (SSL_ERROR_BAD_CERT_DOMAIN)
* Unable to communicate securely with peer: requested domain name does not match the servers certificate.
* Closing connection 0
curl: (51) Unable to communicate securely with peer: requested domain name does not match the server's certificate.


# 攜帶 CA 證書和 Host 進行訪問,需要將 Domain Name 切實的寫入到 URL 中才生效,
$ curl -vvv --cacert /root/nginx-cert/ca_01.pem -X GET "https://web.apigw.com:443/"
* About to connect() to web.apigw.com port 443 (#0)
*   Trying 127.0.0.1...
* Connected to web.apigw.com (127.0.0.1) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /root/nginx-cert/ca_01.pem
  CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* 	subject: CN=web.apigw.com,O=Dis,ST=Denial,C=US
* 	start date: 1月 05 07:31:30 2021 GMT
* 	expire date: 1月 05 07:31:30 2022 GMT
* 	common name: web.apigw.com
* 	issuer: CN=web.apigw.com,O=Dis,L=Springfield,ST=Denial,C=US
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: web.apigw.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.16.1
< Date: Tue, 05 Jan 2021 13:47:03 GMT
< Content-Type: text/html
< Content-Length: 11
< Last-Modified: Mon, 04 Jan 2021 15:28:32 GMT
< Connection: keep-alive
< ETag: "5ff33420-b"
< Accept-Ranges: bytes
<
nginx1.com
* Connection #0 to host web.apigw.com left intact

這是另外一個有趣的現象,為什么顯示的指定了 HTTP Header "host: web.apigw.com" 依舊無法建立 TLS 連接呢?這是因為 TLS 握手會發生在客戶端通過 HTTP Header host 來指示連接到某個具體的網站之前,也就是說還沒有到識別 HTTP Header host 的時候,TLS 就已經判別為 requested domain name does not match the server’s certificate. 了,所以需要在 URL 里面顯示的寫入與 Server 證書一致的 Domain Name,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/245178.html

標籤:其他

上一篇:liunx 的Centos7 NAT模式連接網路并連接到Xshell和Xftp

下一篇:介紹專案詳細開發流程:

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more