26

I have a local DNS server that resolves all URLs *.domain.tld to 127.0.0.1. Also, I have the production server with the same address *.domain.tld. They have the same names, because subdomains interact with each other, and I have hardcoded domain URLs. I can't change them in the production server.

The problem is to reach the production server from my developer computer without touching the DNS server and /etc/hosts.

I found some options for Chrome such as --dns-server, --host-rules, but none is working. I have Google Chrome 23.0.1271.64 and Chromium 22.0.1229.94 on Ubuntu 12.10 64-bit.

8
  • What OS are you on? It's not an option to modify /etc/hosts (or its equivalent) on your computer (the one with Chrome)?
    – poplitea
    Nov 29 '12 at 10:09
  • 1
    You could run a local proxy with a rule to route your request as you wish.
    – Flup
    Mar 18 '13 at 14:16
  • Seems like --dns-server is no longer supported. Mar 18 '13 at 14:31
  • Would for example the Switcheroo Redirector extension or the Redirector extension be useful?
    – harrymc
    Mar 18 '13 at 14:48
  • @harrymc Those two claim to redirect HTTP requests, but I think a DNS request is something different. Mar 19 '13 at 13:45
3

Chromium's DNS resolver is broken, and it won't respect the order in resolv.conf. So when I try to connect to hosts on my VPN, which the system resolves correctly using the VPN's DNS server, Chromium instead uses the non-VPN DNS, and resolves it to my internet provider's advertisement page (which they gratuitously reply with to any non-resolving host).

The only solution I've found was to add private IPs to /etc/hosts.

3

You could use an extension to redirect a named HTTP request to one using an IP address.

This solution doesn't require any modification of the DNS or hosts file, and this redirection may possibly be enabled on and off via the extension :

Switcheroo Redirector

5
  • 1
    thanks harrymc, I think this could solve the asker's problem. I actually offered the bounty because I had the same title question, but the details were different. I want all DNS requests to go a different route. So, not just example.com, but all the images, scripts, etc. that might be found on the page. Maybe I should ask a separate question? Mar 19 '13 at 14:28
  • Such an extension (if programmed correctly) should work on all the page elements, including images etc. Unfortunately, as mentioned above, I cannot test.
    – harrymc
    Mar 19 '13 at 15:04
  • Yes, but that's assuming all the redirects were hardcoded. I was looking for a solution that would avoid DNS leaks for general browsing when using a proxy server. It's my fault that I didn't think that there were solutions for his specific problem, and assuming there was a general solution to the title question. Mar 19 '13 at 15:14
  • Redirector updated link but none of this work as adding custom DNS...
    – cregox
    May 19 '15 at 14:47
  • @harrymc Redirector Chrome store link is not valid anymore. Maybe you want to add Requestly to the list chrome.google.com/webstore/detail/requestly/….
    – Sachin
    Oct 31 '15 at 23:26
1

FoxyProxy Chrome extension worked nicely for me. It is also available for Mozilla Firefox as well. However, can take some time to configure initially. Have tested only for locally hosted sites without HTTPS.

Host Switch Plus extension for Chrome worked for me. Though easier to configure, as it allows multiple tagged entries for different environments as well. However, it seems to have some error which causes it to fail sometimes.

1
  • 1
    Please read How do I recommend software for some tips as to how you should go about recommending software. You should provide at least a link, some additional information about the software itself, and how it can be used to solve the problem in the question.
    – DavidPostill
    Aug 18 '16 at 10:06
0

In case the --host-rules does not work, try --host-resolver-rules.

Example: --host-resovler-rules=MAP example.com 127.0.0.1.

Note that we do not need to double quote the "MAP ... ..." part. (Verified in Version 89 of both Chrome non-headless and Chrome headless mode).

Also see a discussion on this: https://bugs.chromium.org/p/chromium/issues/detail?id=798793

-1

https://chrome.google.com/webstore/detail/dns-overrider/acmhaiiijfheggcaanjlgpampclpbnoh

DNS Overrider

This extension allows you to override domain names inside web-pages. DNS Overrider allows you to replace a current hostname with an alias. Hostnames will be changed in tags like <img>, <script>, <a>, <link>. Only hostnames with a specified alias will be replaced.

Using DNS Overrider you can replace hostname on the fly without access to system settings such as hosts file. DNS Overrider enables you to select what rules to apply via the extension settings page.

DNS Overrider is a useful Chrome extension for website and blog developers (both front-end and back-end developers). If you work with a test version of your site, you can easily and instantly override hostnames for images, scripts, anchors, style sheets without making any changes in the code and evaluate website markup and design correctness.

DNS Overrider extension is intuitive and easy to use. Install the extension, enter an orignal hostname in the "hostname" field, then input a desired alias in the "alias" field and click the "add" button. The rule will be applied to all pages which contain any elements of the provided hostname.

1
  • 2
    This extension replaces URLs in the HTTP response body; it has nothing to do with DNS. This does not answer the question.
    – Spooky
    Dec 7 '14 at 20:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.