On 6/21/20 9:38 AM, Ruth Ivimey-Cook wrote:
Problem is, if I do that (which I did in the beginning), the core rest service listens on localhost / 127.0.0.1 (it obviously recognises that as the , and so cannot be connected to by anything. That is why I set it to 0.0.0.0 to begin with, and what the documentation implies (fairly strongly) that this parameter is about.
What documentation? I do understand what you are saying and I see the issue. I don't understand why it works for this poster <https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/message/...> but maybe that's specific to Docker containers.
IMO, the hostname parameter needs to be split up into a "what address should the rest of the world use to address me" and separately "what address(es) should I listen on". Multiple listen addresses enable multihomed hosts to get the right connectivity, too.
Try something like this and let us know if it works? If so, we can do something like add a config setting for this.
--- a/src/mailman/rest/gunicorn.py +++ b/src/mailman/rest/gunicorn.py @@ -53,7 +53,7 @@ def make_gunicorn_server(): # We load some options from config.webservice, while other extended options # for gunicorn can be defined in configuration: section. We also load up # some logging options since gunicorn sets up it's own loggers. - host = config.webservice.hostname + host = '0.0.0.0' port = int(config.webservice.port) log_path = os.path.join(config.LOG_DIR, config.logging.http['path']) options = {
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan