Without more information (such as the config on your MikroTik - see my signature on how to export one if you don't already know) it's hard to say where the problem is. My first thought would be to check that the FreePBX server itself is accepting connections on port 80 (and 443 since you want to use HTTPS). If it isn't that would explain the problem. The other thing to do is confirm that your firewall rule on the MikroTik is correct. You should have rules like the following to forward ports 80 and 443:
ip firewall nat add chain=dstnat action=dst-nat to-addresses=[FreePBX LAN IP] to-ports=80 protocol=tcp dst-port=80 comment="FreePBX HTTP Port forwarding"
ip firewall nat add chain=dstnat action=dst-nat to-addresses=[FreePBX LAN IP] to-ports=443 protocol=tcp dst-port=443 comment="FreePBX HTTPs Port forwarding"
These, along with the masquerade rule that you should already have (otherwise you wouldn't be able to connect to the Internet), should be all that you require.
You can find more information on the
3CX website about configuring MikroTik for a PBX (Yes, I know the instructions are for 3CX but they are a decent guide for the MikroTik configuration).