Skip to main content
DerekWSmall
Explorer II
June 15, 2026
Question

Rule to allow HTTP/HTTPS traffic to a specific domain is allowing all HTTP/HTTPS traffic.

  • June 15, 2026
  • 3 replies
  • 104 views

I’m trying to create a rule to allow traffic to a specific public domain or list of domains, from my internal users.  Traffic that doesn’t match the “whitelisted” destination domain(s) should flow down through the existing rules.  The following seems to be allowing all HTTP/HTTPS traffic, not just the traffic to the target domain.  The Fortigate is running 7.2.13.

If I enable the rule below, I see traffic in the log matching this rule, that is destined to all kinds of other domains.  I don’t want to affect traffic to any other domains, and want traffic not destined to the “whitelisted” domains to just flow down through the other existing firewall rules.

Ive tried using a “simple” URLfliter (as below) as well as a wildcard filter, but no matter what I’ve tried the rule seems to be matching way more traffic than I intend.

 

config webfilter urlfilter
.....
..
.....
    edit 6
        set name "Auto-webfilter-urlfilter_f7yxvxpub"
        config entries
            edit 1
                set url "canva.com"
                set action allow
            next
        end
    next
end


config webfilter profile
.....
..
.....
    edit "Whitelist-Domains"
        set options block-invalid-url
        config web
            set urlfilter-table 6
            set blocklist enable
        end
        config ftgd-wf
        end
    next
end

 

config firewall policy
    edit 143
        set status disable
        set name "Allow-Whitelist-Domains-LAN"
        set srcintf "LAN_ZONE"
        set dstintf "INTERNET_ZONE"
        set action accept
        set srcaddr "all"
        set dstaddr "all"
        set schedule "always"
        set service "HTTP" "HTTPS"
        set utm-status enable
        set av-profile "default"
        set webfilter-profile "Whitelist-Domains"
        set logtraffic all
        set nat enable
    next
end
 

3 replies

sjoshi
Staff
Staff
June 16, 2026

do you want to allow only canva.com?

or you want to allow http and https service only to specific domain canva.com and rest of the traffic should not match this policy?

Thanks, Salon
DerekWSmall
Explorer II
June 16, 2026

I want this rule to match only http and https traffic to canva.com.  I have other rules, farther down in my rule base.  I want to continue to handle all the other traffic with those rules.

Say an internal user wants to go to www.microsoft.com.  I already have another rule that would match and allow that traffic, and I want that traffic to continue to be handled by that rule.  But if I activate the rule above, and place it higher in the processing order, then that traffic to www.microsoft.com gets processed by the rule above, not the existing rule.  

I want the rule above to allow http and https traffic to the domain canva.com, but I don’t want any other traffic to be affected.

Currently I have a rule in my rule base, near the top, that is a geoblock rule which blocks access to a number of public subnets based on Geo data.  The traffic to canva.com is being blocked by this geoblock rule.  I would like to put a rule in above the geoblock rule, to allow the traffic to canva.com, but I’m doing other scrubbing on most of my internet traffic farther down in my rule base, which I don’t want to bypass for other domains.  The rule above is matching more than the traffic to canva.com, and so traffic that should be getting scrubbed more is taking this “fast path” and being allowed.

sjoshi
Staff
Staff
June 17, 2026

Hi ​@DerekWSmall ,

 

In that case you need to create  a fqdn rule.

 

Rule1(keep it on top)

Create an fqdn rule with destination as www.canva.com and service as http and https and put it on top. In that case this policy will only match traffic towards canva.com and rest of the traffic will match bottom policy which meets your requirement.

 

 

Thanks, Salon
christian_89_
Explorer II
June 16, 2026

he reason rule 143 grabs everything is that the webfilter has nothing to do with which traffic matches the policy. Policy selection is purely L3/L4: srcintf, dstintf, srcaddr, dstaddr, service, schedule. Security profiles (webfilter, AV, IPS) are applied AFTER the policy is already matched. They inspect the session, they do not narrow the match. With dstaddr "all" and service HTTP/HTTPS, this policy by definition matches every web session from LAN to INTERNET, and the geoblock below never sees it.

Two more things on your URL filter: action allow is an exemption (skip further webfilter checks), not a "whitelist this, block everything else" switch. So that whole approach cannot do what you want anyway.

To steer ONLY canva.com over the geoblock, the destination has to be expressed as an address object in the policy:

FQDN object:

 

 

config firewall address
edit "canva.com"
set type fqdn
set fqdn "canva.com"
next
end

 

 

config firewall policy
edit 143
set name "Allow-Canva-LAN"
set srcintf "LAN_ZONE"
set dstintf "INTERNET_ZONE"
set srcaddr "all"
set dstaddr "canva.com"
set action accept
set schedule "always"
set service "HTTP" "HTTPS"
set nat enable
next
end

Caveat with FQDN: the FortiGate resolves it with its own DNS and builds a dynamic IP set. On a CDN-backed site with short TTLs and rotating IPs, the resolved set often differs from what the client gets, so matching is flaky. Canva also pulls assets from several other FQDNs, so a single object will not render the full site. Expect to add more FQDNs or a wildcard, and even then third-party assets stay outside it.

More reliable for a SaaS/CDN target is the Internet Service DB. Check config firewall internet-service-name for a Canva entry. If it exists:

 

 

config firewall policy
edit 143
set internet-service enable
set internet-service-name "Canva-Web" (use the exact name on your box)
...
next
end

Note: with internet-service enable, dstaddr is replaced by the ISDB object and the service is derived from it.

One ordering point that will bite you: once a session matches this allow policy at the top, it is NOT re-evaluated by your scrubbing rules further down. So canva.com would bypass not just the geoblock but all your downstream inspection. If you want canva to keep getting your normal scrubbing, put your standard UTM profile set on this policy too, or instead exempt the Canva ISDB/FQDN inside the geoblock rule rather than punching a separate allow above it.

CFR_
DerekWSmall
Explorer II
June 17, 2026

That all makes sense, and I would definitely go that route, but sadly there is no canva internet service in the current service set.

New Member
June 16, 2026

How can I configure a FortiGate 7.2.13 firewall policy to allow HTTP/HTTPS traffic only to a specific public domain or a small whitelist of domains without unintentionally permitting all web traffic? I created a policy using a URL Filter profile and expected only requests matching the approved domain names to hit that rule, while all other traffic would continue down to existing firewall policies. However, after enabling the rule, the logs show that traffic to many unrelated websites is also matching the policy. I've tested both Simple URL Filter and Wildcard Filter configurations, but the behavior remains the same. What is the correct way to restrict access to only specific domains and ensure non-matching HTTP/HTTPS traffic is processed by subsequent firewall rules instead of being allowed by the whitelist policy?