04-Mar-2022 09:11
I have a NGINX script :
[root@webdplk conf.d]# cat simponi.conf
server {
listen 80;
listen 443;
server_name dplk.bni.co.id;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://192.168.3.187;
}
location /mobile {
rewrite /mobile(.*) /$1 break;
proxy_pass http://192.168.3.186:7005/;
}
}
server {
listen 7005;
server_name dplk.bni.co.id;
location / {
rewrite /mobile(.*) /$1 break;
proxy_pass http://192.168.3.186:7005/;
}
}
[root@webdplk conf.d]#
How if that script if convert to F5 IRules??
Thankyouu
28-Feb-2023 11:12
Something like this? (Assumes you don't need a virtual server listening on port 7005, but that the pool member you're forwarding traffic to is listening on that port and the virtual that is listening on 443 will translate)
when HTTP_REQUEST {
if { [HTTP::host] eq "dplk.bni.co.id" } {
switch -glob [HTTP::uri] {
"/" {
pool pool_192.168.3.187_80
HTTP::header insert X-Forwarded-Host [HTTP::host]
HTTP::header insert X-Forwarded-Server [HTTP::host]
HTTP::header insert X-Forwarded-Proto "https"
HTTP::header insert X-Forwarded-For [IP::client_addr]
}
"/mobile*" {
pool pool_192.168.3.186_7005
set uri [string map {"/mobile" ""} [HTTP::uri]]
}
default {
reject
}
}
}
}