My own idea is that photon itself has no mass, because it just wave of energy, but vacuum of volume of photon has some non-zero mass.
As analogy, water wave has no mass, but water has, so water, which forms wave, can be affected by external forces, e.g. gravitation of Moon and Sun, thus form of water wave can be disturbed by these forces. LIGO demonstrated that light can be affected by gravitational waves, so these gravitational waves, in form of constant noise, can disturb shape of photon, so photon will lost small fraction of energy to gravitational field.
Moreover, as EM force, photon should be affected by fluctuations of quantum foam, which are happened nearby. In this case, photon will lose small fraction of energy to these virtual particles.