Try to edit the LAN->WAN policy and set Log Allowed Traffic to All Sessions (instead of the default of only Security Events).
Do whatever you need to cause the problem to trigger again, then go to the Log & Report section and see which log categories exist (they are created dynamically when there’s a category to log something on) and go through them to see if you can find any hints.
If you can replicate this website loading issue with a specific website’s IP address (don’t use a large site such as Yahoo or Google because there are so many IPs it’s harder to figure out which IP to filter on), run a sniffer on the Fortigate like so:
diagnose sniffer packet any 'host ipaddress and (port 80 or port 443)' 4
This will show you all inbound and outbound traffic to the IP address. When you can’t load a web page, the idea is to see if you see any outbound traffic and make sure the IPs make sense, then there should be return traffic too. There should be two lines for each: Computer’s LAN IP to remote IP, then NAT is applied and you’ll see Fortigate Public IP to remote IP. And replies coming in will follow the same idea but in reverse.
Wireshark on the computer in question will be helpful to compare, to see if there are any packets dropped. Maybe your outbound request is dropped before it even reaches the remote server.
You can also debug the traffic flow to see exactly what the Fortigate is doing to your packets and if there are errors.
diagnose debug enable
diagnose debug flow filter saddr LAN_IP
diagnose debug flow filter daddr REMOTE_IP
diagnose debug flow trace start 1000
You can run these two commands concurrent to get a mixed output of both types in one console session. Run the diagnose debug commands first, then start the packet filter, and load the troublesome website.
If the Fortigate is blocking something, there are hopefully some clues in the debug output. They are admittedly hard to read so feel free to attach a text file of the results if you don’t mind your IP addresses exposed.
The whole point of this exercise is to determine what is actually happening when a website isn’t loading.