47

I'm having trouble accessing HTTPS websites using Netscape Communicator 4.8. This is the error message I get:

Netscape and this server cannot communicate securely because they have no common encryption algorithm(s)

Is there a way I can configure some sort of proxy that will allow me to access HTTPS websites over HTTP? Or any other solution to this problem?

9
  • 20
    For the record, this is because all the ciphersuites that these old browsers supported are now considered insecure and disabled by the servers. Visit ssllabs.com/ssltest/viewMyClient.html to see all its now-insecure ciphers!
    – Ángel
    Commented Jan 18, 2021 at 23:57
  • 5
    I tried, but I got the same error :( Commented Jan 19, 2021 at 7:14
  • 3
    For a browser this old, aren’t you also going to have issues with HTML 5? Commented Jan 19, 2021 at 17:52
  • 2
    Any reason not to use newer browser?
    – Dan M.
    Commented Jan 20, 2021 at 14:29
  • 5
    @DanM. This is retrocomputing so asking for a reason why using something retro is kind of moot.
    – BlackJack
    Commented Jan 21, 2021 at 19:12

3 Answers 3

62

Forward proxy

It turned out that configuring my own forward HTTP proxy was actually really simple! Here's how I did it. First, I placed the following nginx configuration file in /etc/nginx/sites-enabled/:

server {
  listen 81;

  location / {
    resolver 8.8.8.8;
    proxy_http_version 1.1;
    # Uncomment this if SNI support is required  
    # proxy_ssl_server_name on;
    proxy_pass https://$host$request_uri;
  }
}

As per the comment, you may find that Server Name Indication support is required, but not always. See https://stackoverflow.com/a/38401715/5924962 for more information

Then, on the Window 95 machine, I opened Netscape Communicator and went to Edit -> Preferences -> Advanced -> Proxies -> Manual Proxy Configuration and entered the following information:

servers: HTTP: Address of proxy server to use: 192.168.178.129 Port: 81

(Note that 192.168.178.129 is the IP address of the machine that is running nginx in my case.)

That's it! Netscape Communicator now happily connects to any HTTPS website. As proof, here is a screenshot of this very question, as rendered by this 25 year old web browser:

Screenshot of Netscape Communicator visiting this question

Rewrite links in the document

A problem is that links in the document will still likely point to HTTPS targets and will bypass the proxy. The ngx_http_sub module can be used to rewrite some or most of the links in the document:

proxy_set_header Accept-Encoding "";

sub_filter_once off;
sub_filter_last_modified on;
sub_filter '<a href="https:' '<a href="http:';
sub_filter '<img src="https:' '<img src="http:';

gzip_proxied any;
gzip_http_version 1.0;
gzip_comp_level 7;

The http_sub module will only work on text/html by default, and can not operate on compressed data so compression is disabled by modifying the Accept-Encoding header. Compression can then be turned back on to the client using the gzip_… directives.

The built-in substitution can only do exact strings so it will not catch all links. There is a regex-capable module available for the ambitious.

21
  • 18
    What a world we live in, where an HTTP proxy is now called a forward HTTP proxy,
    – JCRM
    Commented Jan 18, 2021 at 22:57
  • 26
    @JCRM The reason has little to do with "what a world we live in", and a lot to do with the fact that (aside from serving HTTP) Nginx is well known and very popular as a reverse proxy (server-side) solution. The fact that Nginx is a versatile solution as a forward proxy (client-side) is less well known, hence the inclusion of the word "forward" to avoid confusion between the two use cases.
    – Will
    Commented Jan 19, 2021 at 1:19
  • 4
    @Will agreed, but I think your point was what JCRM was expressing wonderment at :)
    – lahwran
    Commented Jan 19, 2021 at 1:55
  • 5
    The image URL contains a hardcoded https. Ideally, the proxy should rewrite these to http. I have no idea whether nginx is capable of that. Commented Jan 19, 2021 at 12:25
  • 7
    Netscape Communicator only uses the proxy for HTTP requests. For HTTPS requests it tries to contact the server directly. A SOCKS proxy could solve this problem. Commented Jan 19, 2021 at 12:53
14

You can use the Web rendereing proxy, displaying modern web pages inside a GIF and imagemap. It works well, though Google Captcha often thinks (rightfully) that it is not a human controlling the web browser and won't let you through.

Alternately (and more useful for other activities than web browsing), you can try VNC connection. Although you probably have to de-configure modern security settings (like encryption) at the server side. Expect problems with entering non-ASCII characters, fancy keyboard layout and scrollwheel.

(this is a modified copy of my answer here: Problem accessing Internet from old phones/PDAs (HTTPS, SSL, certificates, compatible services,....) but that question has been closed).

5
  • 2
    What do you mean "rightfully"? What's the difference between you controlling a browser that renders to the screen and you controlling a browser that renders to a gif?
    – pipe
    Commented Jan 19, 2021 at 3:48
  • 1
    @paulsm4 You want a normal proxy, not a reverse proxy, I would think
    – JBGreen
    Commented Jan 19, 2021 at 19:54
  • @Radovan Garabík: A proxy like nginx is definitely the preferred solution
    – paulsm4
    Commented Jan 19, 2021 at 20:02
  • @pipe Google's reCAPTCHA does a bunch of things (most of which I don't know or understand) to answer the question, "Is this web page loaded in a real web browser or inside a machine-controlled automated environment?" The Web rendering proxy (WRP) is an automated environment that just happens to be (ultimately) controlled by a human but is indistinguishable from an environment controlled by a bot. By clicking the imagemap, you give instructions to the WRP server about how to control the Web page, but as far as the captcha within the page knows, those instructions could be coming from a bot.
    – apsillers
    Commented Jan 20, 2021 at 13:32
  • @apsillers I know that. So google wrongfully thinks it's not a human.
    – pipe
    Commented Jan 21, 2021 at 11:43
6

I've used sslstrip for this before.

The program itself works well but some sites were giving me problems:

  1. Some of them redirect you to https:// when clicking a link, so you have to edit the URL sometimes
  2. Some pages made my Netscape 4.0 on Windows 3.1 crash
2
  • 1
    Netscape 4 crashes all the time for me too on Windows 3.1. Netscape 3 is more stable in that regard. Commented Jan 20, 2021 at 18:35
  • @JaapJorisVens be sure to use the latest version, wher hoefully most bugs are fixed Commented May 3 at 22:48

You must log in to answer this question.

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