It looks like your machine is trying to resolve a host literally named proxy_server. Try ping -c 5 proxy_server to see if it has an IP listed and if you can hit it over ICMP. If you are indeed wanting to use a proxy, then check for that IP in /etc/hosts, or just grep 'proxy_server' /etc/hosts, and make sure you can connect to the IP listed for proxy_server via TCP using telnet proxy_server [port] or nc proxy_server:[port]. The port will usually be 8080 for HTTP or 1080 for SOCKS, but can really be set to anything. You would get the port information from your apt config files, in steps detailed below.
If you can ping proxy_server, then make sure that proxy is working correctly and listening on the correct ports that you have listed in any files under /etc/apt. To list these files, run grep -rl 'proxy_server' /etc/apt.
If you aren't intending to use a proxy to connect, then grep -rl 'proxy_server' /etc/apt to see which files list that string. To remove all lines containing that string, run the following as root grep -rl 'proxy_server' /etc/apt | xargs -I file sed -i '/proxy_server/d' file, and try again.
If there are no files listed in the grep output, then run sudo http_proxy= https_proxy= apt update --fix-missing && sudo http_proxy= https_proxy= apt upgrade, and try again.
If that works, then you are setting the http_proxy and/or https_proxy variables somewhere in your environment, most likely in /root/.bashrc, but in reality, those variables could be set in a variety of files that get sourced). For more information about those files, check this answer. To find out if these variables are set in /root/.bashrc, you can run the commands below to get rid of them, or the script that follows, which would be somewhat safer.
Commands to immediately remove http_proxy and https_proxy from .bashrc:
sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc
sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc
Note: the reason I am listing your own ~/.bashrc is because sometimes and in some cases, root is set to inherit the user's profile.
Script that checks if the lines actually exist before attempting to remove them (note that the previous commands won't fail if the lines don't exist, but this will actually return the lines in the output so you knew where they existed:
#!/bin/sh
if grep -E '(http_proxy)|(https_proxy)' /root/.bashrc; then
sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc
fi
if grep -E '(http_proxy)|(https_proxy)' ~/.bashrc; then
sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc
fi
Or if you prefer a one-liner that you can copy/paste:
if grep -E '(http_proxy)|(https_proxy)' /root/.bashrc; then sudo sed -i '/http_proxy/d;/https_proxy/d' /root/.bashrc; fi; if grep -E '(http_proxy)|(https_proxy)' ~/.bashrc; then sed -i '/http_proxy/d;/https_proxy/d' ~/.bashrc; fi
Important: If you have any functions or aliases directly in these .bashrc files that are meant to toggle proxies, it will remove any lines containing http_proxy or https_proxy. In your case, it may be safer to replace http_proxy and https_proxy in the above commands/script with proxy_server.
Your particular one-liner would be as follows:
if grep 'proxy_server' /root/.bashrc; then sudo sed -i '/proxy_server/d' /root/.bashrc; fi; if grep 'proxy_server' ~/.bashrc; then sed -i '/proxy_server/d' ~/.bashrc; fi
Edit: I corrected the grep command based on your comment, and after re-reading your question, if you are not wanting to connect to a proxy at all, simply mv /etc/apt/apt.conf.d/proxy.conf /tmp/ and re-run the command, and it should work just fine. If that's the only place that proxy_server turned up, then I'm not sure why removing the lines didn't work, but it's possible that proxy.conf is getting cached somewhere. By removing the file altogether, your proxy settings will probably get re-initialized.
The actual root of the problem is that you have dummy/example settings in /etc/apt/apt.conf.d/proxy.conf, which is literally trying to resolve the host proxy_server on port port. As you can tell, proxy_server doesn't actually exist, and port would have to be an actual port number in order for apt to connect successfully.
By removing the proxy.conf file (which is not required at all for apt to work, and doesn't ordinarily exist by default), you should be able to resolve this issue.
Edit #2: If you do indeed need to connect to a proxy, then just keep /etc/apt/apt.conf.d/proxy.conf in place and replace proxy_server with the actual IP or hostname of the proxy server and port with the actual port number. Alternately, you can just replace port with the actual port number and create an entry in /etc/hosts for proxy_server pointing to the correct IP address of the actual proxy server.