ReWriteRule ile proxy zaman aşımı
Nov 16 2020
Apache 2.4 ile ReWriteRule (mod_rewrite) aracılığıyla proxy yaparken zaman aşımını kontrol etmenin bir yolu yoktur.
<VirtualHost "*:443">
ServerName xxxx
Use ssl
RewriteEngine On
RewriteRule (.*/wms|/openlayers3/.*) http://localhost:8080$1 [P,L]
RewriteRule .* [F]
</VirtualHost>
Başarısız bir şekilde denedim:
Timeout 400ProxyTimeout 400- ProxySet
<Proxy "http://localhost:8080/">
ProxySet connectiontimeout=100 timeout=400
</Proxy>
ProxyPass "/" "http://localhost:8080" connectiontimeout=100 timeout=400
Zaman aşımı, yukarıdaki direktiflerden hangisini kullanırsam kullanayım her zaman 1 dakikadır.
Yanıtlar
4 ximaera Nov 19 2020 at 12:52
Bu zaman aşımı yalnızca genel olarak kontrol edilebilir . Genel Timeoutayarı httpd.conftercih ettiğiniz değere değiştirin:
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 400
Muhtemelen bunu yapmanın daha iyi bir yolu nginx kullanmaktır:
server {
listen 443;
server_name xxxx;
# ... ssl setup ...
location ~* /wms$ {
proxy_pass http://localhost:8080;
proxy_read_timeout 400;
}
location /openlayers3/ {
proxy_pass http://localhost:8080;
proxy_read_timeout 400;
}
location / {
return 403;
}
}
Bu kod parçacığında neler olduğunu anlamanız için nginx belgelerine ek bağlantılar:
- location ve nginx'te normal ifadelerin nasıl çalıştığını
- proxy_pass
- proxy_read_timeout
- Yeniden yazma kurallarını Apache'den Nginx'e dönüştürme
Snippet'imde eksik olan SSL yapılandırması için lütfen belgeleri de okuyun .
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı