שרשור מפורש של מאזני עומסים L7 ב-GCP ל-PSC

1. מבוא

קבוצת נקודות קצה של רשת מסוג Private Service Connect (PSC) (NEG) תומכת ביצירת שרשור של מאזן עומסים פנימי מסוג HTTPS בעזרת מאזן עומסים חיצוני של HTTPS. כך מתקבלים בדיקות תקינות מבוזרות ותנועה ברמת הנתונים לחשבון המקומי באמצעות טווחים בהגדרת הלקוח. בנוסף, הטופולוגיה הזו תומכת גם במספר רשתות VPC שמתחברים לארגון מקומי דרך כמה רשתות InterConnect אזוריות.

ב-Codelab הזה נדגים איך להגדיר את ניתוח מקצה לקצה על סמך הטופולוגיה שבהמשך. משמאל לימין, ללקוחות בארגון יש מכונה וירטואלית כדי לדמות שירותי HTTP, להשתמש בקישוריות היברידית (HA-VPN או InterConnect) וב-NEG היברידי כדי לחשוף דרך מאזן עומסים פנימי מסוג HTTPS. PSC משתמש ב-HTTPS LB פנימי כקבצים מצורפים לשירות. PSC NEG משתמש בקבצים המצורפים בתור שירות לקצה העורפי, והם נחשפים ל-HTTPS LB חיצוני. משתמשי אינטרנט יכולים להשתמש ברשת הגלובלית של Google כדי להאיץ את הגישה לשירותי HTTP מקומיים.

e3f26d8497323a42.png

איור 1. Private Service Connect משתמש בקבוצת נקודות קצה ברשת ובקבצים מצורפים של שירותים כדי לחבר מאזן עומסים חיצוני של HTTPS למאזן עומסים פנימי של HTTPS, ולהרחיב את הקצה העורפי ל-On-Prem.

מה תלמדו

  • מאזן עומסים פנימי של HTTPS עם NEG היברידי ובדיקת תקינות מבוזרת
  • קובץ מצורף לשירות PSC עם מאזן עומסים פנימי של HTTPS
  • הגדרת קבוצה של נקודות קצה לרשת PSC
  • חשיפת PSC NEG באמצעות מאזן עומסים חיצוני של HTTPS

מה צריך להכין

  • ידע בקישוריות היברידית, כמו HA-VPN
  • ידע על איזון עומסים של HTTPS פנימי/חיצוני
  • הידע של Private Service Connect

2. לפני שמתחילים

הערה: ב-Codelab יש שלבי הגדרה ואימות שמבוססים על הטופולוגיה המודגמת. אפשר לשנות את התהליך לפי הצורך כדי לעמוד בדרישות הארגון. ה-Codelab לא חל על הרשאות IAM.

המערכת של Codelab תשתמש בפרויקט אחד כדי לדמות את התהליך כולו. יש תמיכה גם בפרויקטים מרובים.

פרויקט יחיד – עדכון הפרויקט לתמיכה ברשת של היצרן והצרכן

ב-Inside Cloud Shell, מוודאים שמזהה הפרויקט מוגדר

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
prodproject=YOUR-PROJECT-NAME
echo $prodproject

3. יצירת משאבים מקומיים

בקטע הבא נגדיר VPC ומכונות VM מקומיים כדי לדמות שירותים אצל הלקוח.

רשת VPC

מ-Cloud Shell

gcloud compute networks create vpc-demo-onprem --project=$prodproject --subnet-mode=custom

יצירת רשת משנה

מ-Cloud Shell

gcloud compute networks subnets create vpc-demo-onprem-asia-southeast1 --project=$prodproject --range=10.0.0.0/24 --network=vpc-demo-onprem --region=asia-southeast1

יצירת כללים לחומת האש.

מאזן עומסים פנימי של HTTPS תומך בבדיקת תקינות מבוזרת. כללי חומת אש צריכים לאפשר רק טווח IP של רשת משנה של שרת proxy. עוקבים אחרי המסמך כדי להוסיף את הפרויקטים לרשימת ההיתרים.

יוצרים כלל של חומת אש ב-Cloud Shell כדי להפעיל בדיקות תקינות של הקצה העורפי ותעבורת נתונים במישור הנתונים מרשתות משנה של שרתי proxy.

gcloud compute firewall-rules create vpc-demo-health-checks --allow tcp:80,tcp:443 --network vpc-demo-onprem --source-ranges 10.0.3.0/24 --enable-logging

יוצרים כלל של חומת אש ב-Cloud Shell כדי לאפשר חיבור של IAP למכונות הווירטואליות שלכם:

gcloud compute firewall-rules create psclab-iap-prod --network vpc-demo-onprem --allow tcp:22 --source-ranges=35.235.240.0/20 --enable-logging

4. יצירת מכונות וירטואליות מקומיות

המכונה הווירטואלית הזו מבצעת סימולציה של שירותים מקומיים, וצריך לחשוף אותה באמצעות מאזן עומסים פנימי של HTTPS באמצעות NEG היברידי.

מ-Cloud Shell, יוצרים את המכונה www01

gcloud compute instances create www01 \
    --zone=asia-southeast1-b \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --network-interface=network-tier=PREMIUM,nic-type=GVNIC,stack-type=IPV4_ONLY,subnet=vpc-demo-onprem-asia-southeast1 \
    --shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring \
    --metadata=startup-script='#! /bin/bash
sudo apt-get update
sudo apt-get install nginx -y
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
filter="{print \$NF}"
vm_zone="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/zone \
| awk -F/ "${filter}")"
echo "Page on $vm_hostname in $vm_zone" | \
tee /var/www/html/index.nginx-debian.html
sudo systemctl restart nginx'

בקטע הבא נשתמש ב-letsencrypt כדי ליצור אישורים ולהתקין אותם ב-Nginx. מורידים את קובץ המפתח הציבורי והפרטי לשלב הבא. כדי ליצור אישורים, צריך לפתוח באופן זמני את יציאת ה-TCP 80 לאינטרנט.

צריך לוודא שלמכונה הווירטואלית הזו יש שם דומיין שגלוי לכולם. לדוגמה, ב-Cloud DNS, מוסיפים את רשומת A [www01.yinghli.demo.altostrat.com](http://www01.yinghli.demo.altostrat.com) ומצביעים על כתובת ה-IP הציבורית של VM.

gcloud dns --project=$prodproject record-sets create www01.yinghli.demo.altostrat.com. --zone="yinghli-demo" --type="A" --ttl="300" --rrdatas="34.87.77.186"

ממסוף VM www01, פועלים לפי ההנחיות להתקנת אישורים ב-Nginx וליצור עותק של fullchain.pem ו-private.pem לביצוע השלבים הבאים.

sudo apt install snapd
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

5. יצירת רשת VPC של מפיקים

הערה: תצורת רשת היברידית לא כלולה בתצורה הזו.

רשת VPC

מ-Cloud Shell

gcloud compute networks create vpc-demo-producer --project=$prodproject --subnet-mode=custom

יצירת רשת משנה

מ-Cloud Shell

gcloud compute networks subnets create vpc-demo-asia-southeast1 --project=$prodproject --range=10.0.2.0/24 --network=vpc-demo-producer --region=asia-southeast1

יצירת רשת משנה של שרת proxy

מ-Cloud Shell

gcloud compute networks subnets create proxy-subnet-asia-southeast1 \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=asia-southeast1 \
  --network=vpc-demo-producer \
  --range=10.0.3.0/24

קישוריות היברידית

עליכם לפעול לפי מסמכי התיעוד של Cloud VPN כדי להטמיע קישוריות HA-VPN בין On-Prem לבין Producer VPC. משאירים את הגדרות ברירת המחדל ב-Cloud Router, אנחנו לא צריכים להוסיף 130.211.0.0/22, 35.191.0.0/16 למודעות של BGP.

6. יצירת NEG משולב של מפיקים

יוצרים קבוצת נקודות קצה של רשת היברידית ומוסיפים ל-NEG VM מסוג IP:PORT ממקור מקומי.

מ-Cloud Shell

gcloud compute network-endpoint-groups create on-prem-service-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --zone=asia-southeast1-b \
    --network=vpc-demo-producer

gcloud compute network-endpoint-groups update on-prem-service-neg \
    --zone=asia-southeast1-b \
    --add-endpoint="ip=10.0.0.2,port=443"

7. יצירת מאזן עומסים פנימי של HTTPS למפיקים

נכון לעכשיו, מאזן עומסים חיצוני של HTTPS תומך רק בפרוטוקול HTTPS ל-PSC NEG( מסמכים). כששירותים מתפרסמים, עלינו להשתמש במאזן עומסים פנימי של HTTPS (פנימי) ולהפעיל גישה גלובלית לכללי ההעברה.

יוצרים את בדיקת התקינות האזורית ב-Cloud Shell.

gcloud compute health-checks create https on-prem-service-hc \
    --region=asia-southeast1 \
    --use-serving-port

מ-Cloud Shell יוצרים את השירות לקצה העורפי ומוסיפים NEG היברידי.

gcloud compute backend-services create on-premise-service-backend \
   --load-balancing-scheme=INTERNAL_MANAGED \
   --protocol=HTTPS \
   --region=asia-southeast1 \
   --health-checks=on-prem-service-hc \
   --health-checks-region=asia-southeast1

gcloud compute backend-services add-backend on-premise-service-backend \
   --network-endpoint-group=on-prem-service-neg \
   --network-endpoint-group-zone=asia-southeast1-b \
   --region=asia-southeast1 \
   --balancing-mode=RATE \
   --max-rate-per-endpoint=100

יצירת מפת כתובות ה-URL ב-Cloud Shell

gcloud compute url-maps create on-premise-url \
    --default-service on-premise-service-backend \
    --region=asia-southeast1

יוצרים את אישורי ה-SSL האזוריים ב-Cloud Shell. מתבצעת הורדה של שני קובצי אישורים מה-VM.

gcloud compute ssl-certificates create www01 \
    --certificate=fullchain.pem \
    --private-key=private.pem \
    --region=asia-southeast1

יצירת https-target-proxy מ-Cloud Shell

gcloud compute target-https-proxies create on-premise-httpsproxy \
    --ssl-certificates=www01 \
    --url-map=on-premise-url \
    --url-map-region=asia-southeast1 \
    --region=asia-southeast1

מ-Cloud Shell שומרים כתובת IP סטטית פנימית ויוצרים את כלל ההעברה.

gcloud compute addresses create ilbaddress \
  --region=asia-southeast1 \
  --subnet=vpc-demo-asia-southeast1  \
  --addresses=10.0.2.100 

gcloud compute forwarding-rules create https-ilb-psc \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=vpc-demo-producer \
      --subnet=vpc-demo-asia-southeast1  \
      --address=ilbaddress \
      --ports=443 \
      --region=asia-southeast1 \
      --target-https-proxy=on-premise-httpsproxy \
      --target-https-proxy-region=asia-southeast1
      --allow-global-access

8. יצירת מופע VM של המפיק

יוצרים מכונה וירטואלית (VM) של היצרן לצורך אימות.

מ-Cloud Shell

gcloud compute instances create test01 \
    --zone=asia-southeast1-b \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --network-interface=network-tier=PREMIUM,nic-type=GVNIC,stack-type=IPV4_ONLY,subnet=vpc-demo-asia-southeast1 \
    --shielded-secure-boot \
    --shielded-vtpm \
    --shielded-integrity-monitoring

כדי לאפשר ל-IAP להתחבר למכונות הווירטואליות, יוצרים כלל של חומת אש:

מ-Cloud Shell

gcloud compute firewall-rules create psclab-iap-prod --network vpc-demo-producer --allow tcp:22 --source-ranges=35.235.240.0/20 --enable-logging

ממסוף ה-VM של היצרן, נכנסים לכתובת [www01.yinghli.demo.altostrat.com](https://www01.yinghli.demo.altostrat.com) ומתקנים את כתובת ה-IP הפנימית של מאזן העומסים ב-HTTPS. קוד HTTP 200 מציין שההגדרה תפעל כצפוי.

curl -v --resolve www01.yinghli.demo.altostrat.com:443:10.0.2.100 https://www01.yinghli.demo.altostrat.com

* Added www01.yinghli.demo.altostrat.com:443:10.0.2.100 to DNS cache
* Hostname www01.yinghli.demo.altostrat.com was found in DNS cache
*   Trying 10.0.2.100:443...
* Connected to www01.yinghli.demo.altostrat.com (10.0.2.100) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=www01.yinghli.demo.altostrat.com
*  start date: Jun  4 10:36:43 2023 GMT
*  expire date: Sep  2 10:36:42 2023 GMT
*  subjectAltName: host "www01.yinghli.demo.altostrat.com" matched cert's "www01.yinghli.demo.altostrat.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55865ef982e0)
> GET / HTTP/2
> Host: www01.yinghli.demo.altostrat.com
> user-agent: curl/7.74.0
> accept: */*
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200 
< server: nginx/1.18.0
< date: Mon, 05 Jun 2023 02:29:38 GMT
< content-type: text/html
< content-length: 35
< last-modified: Sun, 04 Jun 2023 09:02:16 GMT
< etag: "647c5318-23"
< accept-ranges: bytes
< via: 1.1 google
< 
Page on www01 in asia-southeast1-b
* Connection #0 to host www01.yinghli.demo.altostrat.com left intact

הערה: לא ניתן לגשת ישירות לשירותי VM 10.0.0.2 HTTPS כי חומת אש מקומית מאפשרת גישה רק לרשת משנה של שרת proxy 10.0.3.0/24.

9. יצירת תת-רשת של PSC NAT

מ-Cloud Shell

gcloud compute networks subnets create psc-nat-subnet \
--network=vpc-demo-producer \
--region=asia-southeast1 \
--range=10.0.5.0/24 \
--purpose=private-service-connect

10. יצירת קובץ מצורף לשירות HTTPs

יוצרים את הקובץ המצורף לשירות HTTP מ-Cloud Shell

gcloud compute service-attachments create ilbserviceattach \
--region=asia-southeast1 \
--producer-forwarding-rule=https-ilb-psc \
--connection-preference=ACCEPT_AUTOMATIC \
--nat-subnets=psc-nat-subnet

אימות הקובץ המצורף לשירות HTTP

gcloud compute service-attachments describe ilbserviceattach --region asia-southeast1

שם הקובץ המצורף של השירות:

projects/<project>/regions/asia-southeast1/serviceAttachments/ilbserviceattach

11. יצירת רשת VPC של צרכנים

בקטע הבא ה-VPC לצרכנים מוגדר באותו פרויקט, אבל יש תמיכה גם בפרויקטים שונים. התקשורת בין הצרכן לבין רשת היצרן מתבצעת באמצעות קובץ מצורף לשירות שמוגדר ברשת של היצרן.

רשת VPC

מ-Cloud Shell

gcloud compute networks create vpc-demo-consumer --project=$prodproject --subnet-mode=custom

יצירת רשת משנה

מ-Cloud Shell

gcloud compute networks subnets create consumer-subnet --project=$prodproject  --range=10.0.6.0/24 --network=vpc-demo-consumer --region=asia-southeast1

12. יצירת קבוצת נקודות קצה לרשת PSC

יצירת PSC NEG

העתקת השם של הקובץ המצורף לשירותי https הקודם והדבקת הפרמטרים --psc-target-service

מ-Cloud Shell

gcloud beta compute network-endpoint-groups create consumerpscneg \
--project=$prodproject \
--region=asia-southeast1 \
--network-endpoint-type=PRIVATE_SERVICE_CONNECT \
--psc-target-service=projects/<project>/regions/asia-southeast1/serviceAttachments/ilbserviceattach \
--network=vpc-demo-consumer \
--subnet=consumer-subnet

בסיום ההגדרה של PSC NEG, בממשק המשתמש, מתבצע מעקב אחרי Private Service Connect -> Published Services -> לתשומת ליבך, החיבור של ilbserviceattach שפורסם מציין עכשיו כלל העברה אחד.

320741b7dedc7984.png

13. יצירת מאזן עומסים חיצוני של HTTPS לצרכן

יוצרים מאזן עומסים חיצוני של HTTPS ומשתמשים ב-PSC NEG בתור שירותים לקצה העורפי( מסמכי התיעוד).

מ-Cloud Shell

gcloud compute addresses create httpspsclb \
    --ip-version=IPV4 --global

gcloud compute backend-services create consumer-bs \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTPS \
    --global

gcloud compute backend-services add-backend consumer-bs \
  --network-endpoint-group=consumerpscneg \
  --network-endpoint-group-region=asia-southeast1 \
  --global

gcloud compute url-maps create consumer-url \
  --default-service=consumer-backend-service \
  --global

gcloud compute ssl-certificates create wwwglobal \
    --certificate=fullchain.pem \
    --private-key=private.pem \
    --global

gcloud compute target-https-proxies create consumer-url-target-proxy \
  --url-map=consumer-url \
  --ssl-certificates=wwwglobal

gcloud compute forwarding-rules create consumer-url-forwarding-rule \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --network-tier=PREMIUM \
    --address=httpspsclb \
    --target-https-proxy=consumer-url-target-proxy \
    --ports=443 \
    --global

מעדכנים את רשומת ה-DNS עבור www01.yinghli.demo.altostrat.com ומכוונים את כתובת ה-IP הציבורית של מאזן עומסים חיצוני של HTTPS

gcloud dns --project=$prodproject record-sets update www01.yinghli.demo.altostrat.com. --type="A" --zone="yinghli-demo" --rrdatas="34.102.178.214" --ttl="300"

14. אימות

מהמחשב הנייד, נכנסים לכתובת https://www01.yinghli.demo.altostrat.com באמצעות curl.

curl -v https://www01.yinghli.demo.altostrat.com
*   Trying 34.102.178.214:443...
* Connected to www01.yinghli.demo.altostrat.com (34.102.178.214) port 443 (#0)
* ALPN: offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=www01.yinghli.demo.altostrat.com
*  start date: Jun  4 10:36:43 2023 GMT
*  expire date: Sep  2 10:36:42 2023 GMT
*  subjectAltName: host "www01.yinghli.demo.altostrat.com" matched cert's "www01.yinghli.demo.altostrat.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* using HTTP/2
* h2h3 [:method: GET]
* h2h3 [:path: /]
* h2h3 [:scheme: https]
* h2h3 [:authority: www01.yinghli.demo.altostrat.com]
* h2h3 [user-agent: curl/8.0.0]
* h2h3 [accept: */*]
* Using Stream ID: 1 (easy handle 0x149019a00)
> GET / HTTP/2
> Host: www01.yinghli.demo.altostrat.com
> user-agent: curl/8.0.0
> accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/2 200
< server: nginx/1.18.0
< date: Mon, 05 Jun 2023 02:48:43 GMT
< content-type: text/html
< content-length: 35
< last-modified: Sun, 04 Jun 2023 09:02:16 GMT
< etag: "647c5318-23"
< accept-ranges: bytes
< via: 1.1 google, 1.1 google
< alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
<
Page on www01 in asia-southeast1-b
* Connection #0 to host www01.yinghli.demo.altostrat.com left intact

15. שלבי ניקוי

פעולות הניקוי ברשת של היצרן

הערה: בשלבי הניקוי מוצגים רק הגדרות שקשורות למאזן עומסים ול-PSC, קישוריות VPC וקישוריות היברידית לא כלולה.

ממעטפת אחת של ענן בטרמינל, למחוק את רכיבי שיעור ה-Lab

gcloud compute forwarding-rules delete consumer-url-forwarding-rule --global
gcloud compute target-https-proxies delete consumer-url-target-proxy
gcloud compute ssl-certificates delete wwwglobal --global
gcloud compute url-maps delete consumer-url
gcloud compute backend-services delete consumer-bs --global
gcloud compute addresses delete httpspsclb --global

gcloud beta compute network-endpoint-groups delete consumerpscneg --region=asia-southeast1

gcloud compute service-attachments delete ilbserviceattach --region=asia-southeast1
gcloud compute networks subnets delete psc-nat-subnet --region=asia-southeast1

gcloud compute forwarding-rules delete https-ilb-psc --region=asia-southeast1
gcloud compute addresses delete ilbaddress --region=asia-southeast1
gcloud compute target-https-proxies delete on-premise-httpsproxy --region=asia-southeast1
gcloud compute ssl-certificates delete www01 --region=asia-southeast1
gcloud compute url-maps delete on-premise-url --region=asia-southeast1
gcloud compute backend-services delete on-premise-service-backend --region=asia-southeast1
gcloud compute health-checks delete on-prem-service-hc --region=asia-southeast1

gcloud compute network-endpoint-groups delete on-prem-service-neg --zone=asia-southeast1-b
gcloud compute networks subnets delete proxy-subnet-asia-southeast1 --region=asia-southeast1

16. מעולה!

ברכות על השלמת ה-Codelab.

אילו נושאים דיברנו?

  • מאזן עומסים פנימי של HTTPS עם NEG היברידי ובדיקת תקינות מבוזרת
  • קובץ מצורף לשירות PSC עם מאזן עומסים פנימי של HTTPS
  • הגדרת קבוצה של נקודות קצה לרשת PSC
  • חשיפת PSC NEG באמצעות מאזן עומסים חיצוני של HTTPS