28

I'm using Firefox browser in Ubuntu 18.04. I made an experiment where I want some domain names to be resolved to another IP address than their actual one. Firefox seems to ignore the IP in the hosts file.

1) Is this expected behavior from Firefox?

2) If yes, how to make Firefox honor the hosts file?

3) If not possible, are there alternative browsers that honor the hosts file?

I use Linux Ubuntu 18.04

5
  • I use the hosts file to direct well known adds sites to 127.0.0.1 as a cheap add-blocker and it works very well. So the answer is no, firefox (as all other browser I've tried) honors /etc/hosts. You should double check your hosts file content. Commented May 5, 2019 at 19:53
  • 1
    Windows 10 itself will ignore hosts, e.g. when used to block telemetry. See petri.com/… Commented May 5, 2019 at 22:50
  • 1
    I don't know much about Linux but in Windows browsers don't consult the hosts file. That is done at a lower level in the system and the browser has no choice whether it is used or not. I suspect a problem in the hosts file.
    – LMiller7
    Commented May 6, 2019 at 1:11
  • 3
    The browser (on PC operating systems) always has a choice to not use the system-provided mechanisms in the first place. It can send its own UDP packets or make TCP connections. Commented May 6, 2019 at 13:49
  • ipv6 was the problem for me. Solution here: superuser.com/a/753863/77247
    – Eddie
    Commented Nov 19, 2020 at 19:45

9 Answers 9

18

I had the same problem. Write about:config in the address bar.

Search for dns and change network.dns.offline-local to false.

about:config settings page on firefox

2
  • 2
    After switching this, I just needed to close Firefox entirely and reopen and it started to honor the hosts file. Thanks. Commented Jul 24, 2019 at 9:51
  • works for my WaterFox browser too: changed option in about:config, did restart of browser and voila. Thanks Commented Jan 9 at 12:23
10

I fixed it by disabling the "DNS Over HTTPS" Firefox Network option.

3
  • +1. By design, DNS Over HTTPS ignores hosts files. See bugzilla.mozilla.org/show_bug.cgi?id=1453207#c2
    – Brian
    Commented Apr 3, 2020 at 19:08
  • 3
    Firefox still ignores the hosts file after following this and the other answers, even after restart. I noticed if I create a new Firefox profile, it works there.
    – Lubo Kanev
    Commented Feb 13, 2021 at 13:38
  • Firefox 83+ honors /etc/hosts with the default settings, but you do need to restart after making changes to the hosts file.
    – Nickolay
    Commented Jan 30, 2022 at 12:54
3

All of the high-scoring answers here are not fine-grained. You can bypass individual domains with Trusted Recursive Resolver exceptions using the network.trr.excluded-domains setting in about:config. Set its value to a comma-separated list of domains like 'localhost,local,foo.com'

0
2

If the domain that is not working either in Firefox or Chrome ends as following:

.dev
.localhost
.test
.example
.app

The problem is that, both browsers in certain distributions don't like domain ending like that, in my case changing the domains from *.localhost to *.local solved the issue.

As I mention in a comment in this post where I found the solution, only happens in certain distributions, e.g. I don't have this issue in my Ubuntu 20.04 installation, but I got the error in Xubuntu 20.04 (both browsers).

1

Fixed it by selecting "Auto-detect proxy settings for this network" in the Network settings. Windows 10, Firefox Version 77.0.1 (64-bit)

1
  • Ran into an issue with Firefox not loading a local development site setup using colima and ddev on a macOS device managed with Zscaler, this enabled the site to work, alongside less good solutions like disabling Zscaler and (for some reason) splitting /etc/hosts entries so that localhost and the domain weren't on the same line Commented Feb 15 at 19:26
0

Windows does not ignore the host file and can be verified easily by a test. I do know that older versions of Firefox did not ignore the host file, but mine seems to ignore the host file even after setting the flag for network.dns.offline-localhost

I ended up here after a search because I did not understand why I saw this behavior and even after changing the above suggestion, my firefox 71.0 is still ignoring the host file.

I made a change in my host file Verified with a ping it answers the way I want Flushed the dns at the command line Closed and opened the browser a few times to be sure Internet explorer, Microsoft Edge and Opera all land on the page I want after the change, and Firefox continues to ignore the host file, so there is likely another flag that needs changed.

0

Funny when I checked I found I already had it set to false from my last visit to this thread, so that I could get a straight answer when there were issues with dns or I wanted entry's in the host file to be recognized.

But today I discovered one entry that others may or may not be able to recreate, that is ignored by Firefox regardless. www.siteplug.com I have the entry for the non www, the www, the ww4 as well as the *. (pointed at 127.0.0.1) and all browsers return a 404 except firefox, as it arrives at the site successfully, so firefox does in fact ignore the host file if FF chooses to.

I use the hosts file regularly for many things for many years as it is the best way to test new sites on servers at different ip's or even FQDN on servers on the lan.

Sad really, firefox became the browser they did listening to the users, but those days are long gone at mozilla. Would really like to see a solution but I may have to switch browsers in the end.

2
  • On what operating system did you run your tests? Commented Jan 3, 2020 at 0:47
  • Windows 10 Firefox 71.0 As I stated I have used the hosts file for MANY years for many reasons such as test sites of live domains in a different ip, or servers on my lan etc. the recent few revisions of firefox made some sort of change the last year or so that just seems to drive me into brick walls ina number of places that may force me to change but I would rather conquer the underlying reasons and continue to use my preferred browser
    – Universal4
    Commented Jan 3, 2020 at 1:02
0

ff -> about:config -> network.dns.localDomains - write local domain names comma separated

1
  • While true, the answer is of no use to people not familiar with about:config. Please explain it a little further, otherwise this may get deleted. Commented Jan 31 at 11:34
0

I had the same problem under Windows, I tested all the solution above without success, and finally, by chance I saw that Docker add lines in the hosts with the .internal extension. Like this:

127.0.0.1 kubernetes.docker.internal

So I used the .internal extention for my local alias

127.0.0.1 app1.internal 

It works

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .