この問題が発生したのは、主に会社が2つの小さなプログラムを開発したためで、ユーザーベースは大きくありません。ご存知のとおり、WeChatの小さなプログラムはhttpsでしか起動できません。
Nginxリバースプロキシは、同じサーバーへの2つの小さなプログラムの展開を実装します
準備オーケー
- Nginxをインストールします
- SSL証明書をインストールします
Nginxの構成を開始します
構成ファイルnginx.confはhttpをコメントアウトし、httpsをオンにして、次のように設定しました
#HTTPS server
server {
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate 你的证书路径/XXXXX.pem;
ssl_certificate_key 你的证书路径/XXXXX..key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /api1 {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081/api1;
}
location /api2 {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8082/api2;
}
}
上記の構成は効果です
- https://www.xxx.com/api1はhttp://127.0.0.1:8081/api1に転送されます
- https://www.xxx.com/api2はhttp://127.0.0.1:8082/api2に転送されます
アプレットサービスを開始します
私のプロジェクトはspringbootで、上記の構成によれば、1つのポート8081、ルートパスapi1、
別のポート8082、ルートパスapi2であるため、同じドメインネームサーバーが実装され、2つの443プロジェクトが展開されます。
私はディレクトリでルートを解決するためにここにいます、もちろん、nginxリバースプロキシを使用して、ルートを解決するために2つのドメイン名を構成することもできます