Thread [HTTP::Async] in Verbindung mit RewriteRule in der .htaccess (30 answers)
Opened by bianca at 2016-03-04 17:02

bianca
 2016-03-04 17:02
#184035 #184035
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Windows 7 (Server+Client), Apache 2.2, Perl Strawberry 5.18.x

Folgendes Script:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
require Data::Dumper; Data::Dumper->import(qw(Dumper));
use 5.010;

my $generiere_objekt = sub {
    my ($var) = @_;
    if (!defined $$var) {
        $$var = HTTP::Async->new(
            timeout             => 10,
            max_request_time    => 15,
            cookie_jar          => defined,
        );
    }
};
my $async;
my $id_entfernt = 0;

require HTTP::Async;
require HTTP::Request::Common;
my $request = HTTP::Request->new(
    'GET',
    'http://meine.domain/cgi-bin/meinscript.pl?key=val',
    HTTP::Headers->new(),
);
$generiere_objekt->(\$async);
$id_entfernt = $async->add($request);

if (defined $async) {
    while (my($response,$id) = $async->wait_for_next_response) {
        say "ID $id :",Dumper($response);
        say $response->is_error;
        say $response->code;
    }
}


Wenn auf dem Server in der .htaccess diese 5 Zeilen hier aktiv sind bekomme ich einen HTTP 503 zurück:
Code: (dl )
1
2
3
4
5
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{QUERY_STRING} (.+)=(.+)
RewriteRule .* https://meine.domain/cgi-bin/meinscript.pl?%1=%2 [L]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://meine.domain/$1 [L]


Nehme ich diese 5 Zeilen aus der .htaccess raus bekomme ich mit dem obigen Script auch korrekt einen gewünschten 200er.
Die 5 Zeilen sollen dafür sorgen, dass alle Request in SSL "umgewandelt" werden sollen, die es bisher nicht sind. Klappt auch mit allen Browsern wie erwartet.
Aber das scheint mein obiges Script nicht verarbeiten zu können.
Wie kann ich dem Script beibringen, trotzdem den Request durch zu bekommen?

Dankeschön
10 print "Hallo"
20 goto 10

View full thread [HTTP::Async] in Verbindung mit RewriteRule in der .htaccess