Kaydol

Merhaba Sevgili Floodlar.com Kullanıcısı, Web sitemizde geçirdiğiniz zaman ve bu büyüleyici flood evrenine katılımınız için teşekkür ederiz. Floodların geniş dünyasıyla dolu deneyiminizi daha fazla keşfetmek için, web sitemizi sınırsız olarak kullanabilmeniz adına giriş yapmanız gerekmektedir.

Oturum aç

Merhaba Floodlar.com Kullanıcısı, İlk üç sayfayı tamamladınız, tebrikler! Ancak, floodların devamını görmek ve daha fazla interaktif deneyim yaşamak için giriş yapmanız gerekiyor. Hesabınız yoksa, hızlıca oluşturabilirsiniz. Sınırsız floodlar ve etkileşimler sizleri bekliyor. Giriş yapmayı unutmayın!

Şifremi hatırlamıyorum

Şifreniz mi unuttunuz? Endişelenmeyin! Lütfen kayıtlı e-posta adresinizi giriniz. Size bir bağlantı göndereceğiz ve bu link üzerinden yeni bir şifre oluşturabileceksiniz.

Fil Necati Masonlar Locası Subreddit Adı Nedir? Cevap: ( N31 )

Üzgünüz, flood girme izniniz yok, Flood girmek için giriş yapmalısınız.

Lütfen bu Floodun neden bildirilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Lütfen bu cevabın neden bildirilmesi gerektiğini kısaca açıklayın.

Lütfen bu kullanıcının neden rapor edilmesi gerektiğini düşündüğünüzü kısaca açıklayın.

Mobil Uygulamada Açın

Güncel Floodlar En sonuncu Nesne

Nginx kullanarak İmzalı HTTP Değişimleri (SXG) nasıl kurulur?

Nginx kullanarak İmzalı HTTP Değişimleri (SXG) nasıl kurulur?

İmzalı HTTP Değişimleri (SXG) kullanıcıların içerik oluşturucuları içerik dağıtıcılardan ayırt etmesini kolaylaştıran yeni bir web teknolojisidir. Bu kılavuz size SXG’yi nasıl kuracağınızı gösterir.

Tarayıcılar arası destek #

Google Chrome, Samsung Internet ve Microsoft Edge dahil olmak üzere birkaç Chromium tabanlı tarayıcı SXG’yi destekler. Uzlaşı ve Standardizasyon bölümüne bakın. Kaynak İmzalı HTTP Değişimleri daha güncel bilgiler için.

Önkoşullar #

SXG’yi web sitenize uygulamak için şunları yapmalısınız:

  • DNS girişleri dahil olmak üzere alan adınız üzerinde kontrole sahip olun.
  • Sertifikalar alın. SXG, özel bir sertifikanın verilmesini gerektirir. Özellikle, TLS anahtarınızı veya sertifikanızı yeniden kullanamazsınız.
  • HTTPS üzerinden SXG oluşturabilen ve sunabilen bir HTTP sunucusuna sahip olun.

varsayımlar #

Bu kılavuz aşağıdakileri yaptığınızı varsayar:

  • OpenSSL 1.1.1 ortamına sahip olun. Bu kılavuz, amd64 ISA’da Ubuntu 18.04 LTS ile yazılmıştır.
  • Koşma yeteneğine sahip olmak sudo yürütülebilir dosyaları yüklemek için.
  • Kullanmak nginx HTTP sunucusu olarak.
  • Şu anda bu uzantıları destekleyen tek sağlayıcı gibi göründüğü için, SXG ile ilgili uzantıları içeren sertifikalar oluşturmak için DigiCert kullanıyorlar.

Ayrıca, bu makaledeki örnek komutlar, etki alanınızın website.testyani değiştirmeniz gerekecek website.test gerçek alan adınızla.

1. Adım: SXG için sertifikanızı alın #

SXG oluşturmak için şu özelliklere sahip bir TLS sertifikasına ihtiyacınız vardır: CanSignHttpExchanges uzantının yanı sıra belirli bir anahtar türü. DigiCert, bu uzantıya sahip sertifikalar sağlar. Sertifika vermek için bir CSR dosyasına ihtiyacınız var, bu yüzden aşağıdaki komutlarla oluşturun:

openssl ecparam -genkey -name prime256v1 -out mySxg.key
openssl req -new -key mySxg.key -nodes -out mySxg.csr -subj "/O=Test/C=US/CN=website.test"

Aşağıdakine benzeyen bir CSR dosyası alacaksınız:

-----BEGIN CERTIFICATE REQUEST-----
MIHuMIGVAgEAMDMxDTALBgNVBAoMBFRlc3QxCzAJBgNVBAYTAlVTMRUwEwYDVQQD
DAx3ZWJzaXRlLnRlc3QwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS7IVaeMvid
S5UO7BspzSe5eqT5Qk6X6dCggUiV/vyqQaFDjA/ALyTofgXpbCaksorPaDhdA+f9
APdHWkTbbdv1oAAwCgYIKoZIzj0EAwIDSAAwRQIhAIb7n7Kcc6Y6pU3vFr8SDNkB
kEadlVKNA24SVZ/hn3fjAiAS2tWXhYdJX6xjf2+DL/smB36MKbXg7VWy0K1tWmFi
Sg==
-----END CERTIFICATE REQUEST-----

Emin olun:

  • Geçerlilik süresi 90 günü geçmez.
  • bu CanSignHttpExchanges uzantısını sertifikaya dahil edin Ek Sertifika Seçenekleri altında bulunan onay kutusu etkinleştirilir.
bu CanSignHttpExchanges uzantısını sertifikaya dahil edin onay kutusu.

Sertifikanız bu koşullara uymuyorsa, tarayıcılar ve distribütörler güvenlik nedeniyle SXG’nizi reddedecektir. Bu kılavuz, DigiCert’ten aldığınız sertifikanın dosya adının mySxg.pem.

2. Adım: Kurun libsxg #

SXG formatı karmaşıktır ve araç kullanmadan oluşturulması zordur. SXG oluşturmak için aşağıdaki seçeneklerden birini kullanabilirsiniz:

Bu kılavuz kullanır libsxg.

1. Seçenek: Yükle libsxg bir Debian paketinden #

Paketi, OpenSSL (libssl-dev) sürüm eşleşir.

sudo apt install -y libssl-dev
wget https://github.com/google/libsxg/releases/download/v0.2/libsxg0_0.2-1_amd64.deb
wget https://github.com/google/libsxg/releases/download/v0.2/libsxg-dev_0.2-1_amd64.deb
sudo dpkg -i libsxg0_0.2-1_amd64.deb
sudo dpkg -i libsxg-dev_0.2-1_amd64.deb

2. Seçenek: Oluştur libsxg elle #

ile uyumlu bir ortam kullanmıyorsanız .deb dosyalar, oluşturabilirsiniz libsxg kendin. Bir ön koşul olarak yüklemeniz gerekir git, cmake, opensslVe gcc.

git clone https://github.com/google/libsxg
mkdir libsxg/build
cd libsxg/build
cmake .. -DRUN_TEST=false -DCMAKE_BUILD_TYPE=Release
make
sudo make install

3. Adım: Kurun nginx Eklenti #

bu nginx eklenti, SXG’leri sunmadan önce statik olarak oluşturmak yerine dinamik olarak oluşturmanıza olanak tanır.

1. Seçenek: Eklentiyi bir Debian paketinden kurun #

bu için SXG modülü nginx GitHub’da dağıtılmaktadır. Debian tabanlı sistemlerde ikili paket olarak kurabilirsiniz:

sudo apt install -y nginx=1.15.9-0
wget https://github.com/google/nginx-sxg-module/releases/download/v0.1/libnginx-mod-http-sxg-filter_1.15.9-0ubuntu1.1_amd64.deb
sudo dpkg -i libnginx-mod-http-sxg-filter_1.15.9-0ubuntu1.1_amd64.deb

2. Seçenek: Eklentiyi manuel olarak oluşturun #

inşa etmek nginx modülü gerektirir nginx kaynak kodu. Aşağıdaki komutları kullanarak tarball’ı alabilir ve SXG dinamik modülüyle birlikte oluşturabilirsiniz:

git clone https://github.com/google/nginx-sxg-module
wget https://nginx.org/download/nginx-1.17.5.tar.gz
tar xvf nginx-1.17.5.tar.gz
cd nginx-1.17.5
./configure --prefix=/opt/nginx --add-dynamic-module=../nginx-sxg-module --without-http_rewrite_module --with-http_ssl_module
make
sudo make install

bu nginx yapılandırma büyük bir esnekliğe sahiptir. Düzenlemek nginx sisteminizin herhangi bir yerinde, ardından ilgili bir yol belirtin module/config/log/pidfile. Bu kılavuz, onu şuraya yüklediğinizi varsayar: /opt/nginx.

4. Adım: nginx SXG ile çalışmak için eklenti #

1. Seçenek: Debian’dan yüklenen bir yapılandırmayı yapılandırın nginx modül #

kullandıysanız bu talimatları izleyin. Adım 3, Seçenek 1 daha erken.

SXG içeriği sunmak için HTTPS gerekir. DigiCert, Let’s Encrypt ve diğer hizmetlerden bir SSL/TLS sertifikası alabilirsiniz. SSL için bir SXG sertifikası KULLANAMAZSINIZ, bu nedenle iki sertifikaya ihtiyacınız olacaktır. içindeki yapılandırma dosyası /etc/nginx/nginx.conf SSL anahtarı/sertifika çiftini girdiğiniz varsayılarak aşağıdakine benzer görünmelidir. /path/to/ssl/ ve SXG anahtarı/sertifika çifti /path/to/sxg/:

user www-data;
include /etc/nginx/modules-enabled/*.conf;

events {
worker_connections 768;
}

http {
include mime.types;
default_type application/octet-stream;
add_header X-Content-Type-Options nosniff;

server {
listen 443 ssl;
ssl_certificate /path/to/ssl/fullchain.pem;
ssl_certificate_key /path/to/ssl/privkey.pem;
server_name website.test;

sxg on;
sxg_certificate /path/to/sxg/mySxg.pem;
sxg_certificate_key /path/to/sxg/mySxg.key;
sxg_cert_url certs/cert.cbor;
sxg_validity_url validity/resource.msg;
sxg_cert_path /certs/cert.cbor;

root /var/www/html;
}
}

  • sxg_cert_url sertifika zincirini bulduğu için tarayıcıların SXG’yi düzgün bir şekilde yüklemesi çok önemlidir. Sertifika zinciri, cbor formatında sertifika ve OCSP zımbalama bilgilerini içerir. hizmet etmek zorunda olmadığınızı unutmayın. cert.cbor aynı kaynaktan dosya. HTTPS’yi desteklediği sürece herhangi bir CDN’ler veya diğer statik dosya sunma hizmetleri aracılığıyla sunabilirsiniz.
  • sxg_validitiy_url SXG-imza başlığıyla ilgili bilgileri sunması planlanmıştır. Bir sayfa son SXG’den bu yana değiştirilmemişse, teknik olarak tüm SXG dosyasının indirilmesi gerekmez. Bu nedenle, yalnızca imza başlığı bilgilerinin güncellenmesinin ağ trafiğini azaltması beklenir. Ancak detaylar henüz uygulanmadı.

Başlangıç nginx ve SXG’ye hizmet etmeye hazırsınız!

sudo systemctl start nginx.service
curl -H"Accept: application/signed-exchange;v=b3" > index.html.sxg
cat index.html.sxg
sxg1-b3......(omit)

2. Seçenek: Kaynaktan yerleşik yapılandırma nginx modül #

kullandıysanız bu talimatları izleyin. Adım 3, Seçenek 2 daha erken.

yapılandırın nginx altında kurulan sistem /opt/nginx aşağıdaki örneğe benzer görünmek için:

load_module "/opt/nginx/modules/ngx_http_sxg_filter_module.so";

events {
worker_connections 768;
}

http {
include mime.types;
default_type application/octet-stream;
add_header X-Content-Type-Options nosniff;

server {
listen 443 ssl;
ssl_certificate /path/to/ssl/fullchain.pem;
ssl_certificate_key /path/to/ssl/privkey.pem;
server_name example.com;

sxg on;
sxg_certificate /path/to/sxg/mySxg.pem;
sxg_certificate_key /path/to/sxg/mySxg.key;
sxg_cert_url certs/cert.cbor;
sxg_validity_url validity/resource.msg;
sxg_cert_path /certs/cert.cbor;

root /opt/nginx/html;
}
}

Sonra başlat nginx. Artık SXG’nizi alabilirsiniz!

cd /opt/nginx/sbin
sudo ./nginx
curl -H "Accept: application/signed-exchange;v=b3" > index.html.sxg
less index.html.sxg
sxg1-b3......(omit)

5. Adım: Uygulamanızın arka ucunu sunun #

Yukarıdaki örneklerde, nginx kök dizinde statik dosyalar sunar, ancak uygulamalarınız için yukarı akış yönergelerini kullanarak isteğe bağlı web uygulaması arka uçları (Ruby on Rails, Django veya Express gibi) için SXG yapın. nginx ön HTTP(S) sunucusu olarak çalışır.

upstream app {
server 127.0.0.1:8080;
}

server {
location / {
proxy_pass http://app;
}
}

6. Adım: Test edin #

Kullan dump-signedexchange aracı sunulan SXG’lerin doğru olduğunu test etmek, hiçbir hatanın bildirilmediğinden emin olmak ve başlıkların ve gövdenin beklendiği gibi olduğunu doğrulamak için.

go get -u github.com/WICG/webpackage/go/signedexchange/cmd/dump-signedexchange
export PATH=$PATH:~/go/bin
dump-signedexchange -verify -uri | less

Geribildirim yolla #

SXG üzerinde çalışan Chromium mühendisleri, webpackage-dev@chromium.org adresinden geri bildiriminizi duymak istiyor. Ayrıca katılabilirsiniz spesifikasyon tartışmasıveya hata bildir takıma Geri bildiriminiz, standardizasyon sürecine büyük ölçüde yardımcı olacak ve ayrıca uygulama sorunlarının ele alınmasına yardımcı olacaktır. Teşekkür ederim!

İlgili Mesajlar

Yorum eklemek için giriş yapmalısınız.