Mattermost send email notification problems

Hello! In the quoted text above me, this looks like the issue. I see that the only text in the URL is #ZgotmplZ, but no URL, which means that there is no domain that it is going to. I believe this may be a template issue, @amy.blais would likely be able to provide further insite regarding if this is a configuration error, or a different error, as I am not as well versed in this section of Mattermost myself.

@ahmaddanial Would someone on support know about this, or should I escalate to devs?

Hi @amy.blais

I think we can escalate to the devs at this point. Sorry I have my hands a bit full today. So, I could not spend time to dig deeper into this.

1 Like

Dear @ahmaddanial
Could you find the problem of email notification? Thank you.

From what I could tell, and upon comparing to a new install of Mattermost on a new deployment of Ubuntu, for my own personal use, it does look like something must be missing, as there is no URL being inserted in the email, simply a string, which to me at least, looks like a DOM reference to a longer URL, but the site itself isn’t included before it. I’m wondering where along the persay “pipeline” of processes this is caused by. For example, if it would be as simple as not having the config.json URL of the website instance set properly, or if it could be a issue with the passing of the URL as a variable to the email processing engine through the API


The more I’ve been thinking about this issue, the more it seems to me like a possible cause could be an improperly configured server URL(or non-existing URL) in the config.json file, that might be causing the Instance’s email processing tool to not insert a URL into the emails before the HREF tag. Is that a possibility, or something that sounds worth looking into further @ahmaddanial?

Hello, @Ada @XxLilBoPeepsxX

I will reconvene with @amy.blais on this to confirm the next step moving forward.

@Ada Would you mind sharing your config.json directly to me with all passwords removed?

Dear @ahmaddanial ,
Below is the content of config.json. Thank you.

    "ServiceSettings": {
        "SiteURL": "invisiblenotes.com:8341",
        "WebsocketURL": "",
        "LicenseFileLocation": "",
        "ListenAddress": ":8065",
        "ConnectionSecurity": "",
        "TLSCertFile": "",
        "TLSKeyFile": "",
        "TLSMinVer": "1.2",
        "TLSStrictTransport": false,
        "TLSStrictTransportMaxAge": 63072000,
        "TLSOverwriteCiphers": [],
        "UseLetsEncrypt": false,
        "LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",
        "Forward80To443": false,
        "TrustedProxyIPHeader": [],
        "ReadTimeout": 300,
        "WriteTimeout": 300,
        "IdleTimeout": 60,
        "MaximumLoginAttempts": 10,
        "GoroutineHealthThreshold": -1,
        "GoogleDeveloperKey": "",
        "EnableOAuthServiceProvider": false,
        "EnableIncomingWebhooks": true,
        "EnableOutgoingWebhooks": true,
        "EnableCommands": true,
        "EnableOnlyAdminIntegrations": true,
        "EnablePostUsernameOverride": false,
        "EnablePostIconOverride": false,
        "EnableLinkPreviews": true,
        "EnableTesting": false,
        "EnableDeveloper": false,
        "EnableOpenTracing": false,
        "EnableSecurityFixAlert": true,
        "EnableInsecureOutgoingConnections": false,
        "AllowedUntrustedInternalConnections": "",
        "EnableMultifactorAuthentication": false,
        "EnforceMultifactorAuthentication": false,
        "EnableUserAccessTokens": false,
        "AllowCorsFrom": "",
        "CorsExposedHeaders": "",
        "CorsAllowCredentials": false,
        "CorsDebug": false,
        "AllowCookiesForSubdomains": false,
        "ExtendSessionLengthWithActivity": true,
        "SessionLengthWebInDays": 30,
        "SessionLengthMobileInDays": 30,
        "SessionLengthSSOInDays": 30,
        "SessionCacheInMinutes": 10,
        "SessionIdleTimeoutInMinutes": 43200,
        "WebsocketSecurePort": 443,
        "WebsocketPort": 80,
        "WebserverMode": "gzip",
        "EnableCustomEmoji": false,
        "EnableEmojiPicker": true,
        "EnableGifPicker": false,
        "GfycatApiKey": "2_KtH_W5",
        "GfycatApiSecret": "3wLVZPiswc3DnaiaFoLkDvB4X0IV6CpMkj4tf2inJRsBY6-FnkT08zGmppWFgeof",
        "RestrictCustomEmojiCreation": "all",
        "RestrictPostDelete": "all",
        "AllowEditPost": "always",
        "PostEditTimeLimit": -1,
        "TimeBetweenUserTypingUpdatesMilliseconds": 5000,
        "EnablePostSearch": true,
        "MinimumHashtagLength": 3,
        "EnableUserTypingMessages": true,
        "EnableChannelViewedMessages": true,
        "EnableUserStatuses": true,
        "ExperimentalEnableAuthenticationTransfer": true,
        "ClusterLogTimeoutMilliseconds": 2000,
        "CloseUnusedDirectMessages": false,
        "EnablePreviewFeatures": true,
        "EnableTutorial": true,
        "ExperimentalEnableDefaultChannelLeaveJoinMessages": true,
        "ExperimentalGroupUnreadChannels": "disabled",
        "ExperimentalChannelOrganization": false,
        "ExperimentalChannelSidebarOrganization": "disabled",
        "ExperimentalDataPrefetch": true,
        "ImageProxyType": "",
        "ImageProxyURL": "",
        "ImageProxyOptions": "",
        "EnableAPITeamDeletion": false,
        "ExperimentalEnableHardenedMode": false,
        "DisableLegacyMFA": true,
        "ExperimentalStrictCSRFEnforcement": false,
        "EnableEmailInvitations": false,
        "DisableBotsWhenOwnerIsDeactivated": true,
        "EnableBotAccountCreation": false,
        "EnableSVGs": false,
        "EnableLatex": false,
        "EnableLocalMode": false,
        "LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
    },
    "TeamSettings": {
        "SiteName": "Mattermost",
        "MaxUsersPerTeam": 50,
        "EnableTeamCreation": true,
        "EnableUserCreation": true,
        "EnableOpenServer": false,
        "EnableUserDeactivation": false,
        "RestrictCreationToDomains": "",
        "EnableCustomBrand": false,
        "CustomBrandText": "",
        "CustomDescriptionText": "",
        "RestrictDirectMessage": "any",
        "RestrictTeamInvite": "all",
        "RestrictPublicChannelManagement": "all",
        "RestrictPrivateChannelManagement": "all",
        "RestrictPublicChannelCreation": "all",
        "RestrictPrivateChannelCreation": "all",
        "RestrictPublicChannelDeletion": "all",
        "RestrictPrivateChannelDeletion": "all",
        "RestrictPrivateChannelManageMembers": "all",
        "EnableXToLeaveChannelsFromLHS": false,
        "UserStatusAwayTimeout": 300,
        "MaxChannelsPerTeam": 2000,
        "MaxNotificationsPerChannel": 1000000,
        "EnableConfirmNotificationsToChannel": true,
        "TeammateNameDisplay": "username",
        "ExperimentalViewArchivedChannels": false,
        "ExperimentalEnableAutomaticReplies": false,
        "ExperimentalHideTownSquareinLHS": false,
        "ExperimentalTownSquareIsReadOnly": false,
        "LockTeammateNameDisplay": false,
        "ExperimentalPrimaryTeam": "",
        "ExperimentalDefaultChannels": []
    },
    "ClientRequirements": {
        "AndroidLatestVersion": "",
        "AndroidMinVersion": "",
        "DesktopLatestVersion": "",
        "DesktopMinVersion": "",
        "IosLatestVersion": "",
        "IosMinVersion": ""
    },
    "SqlSettings": {
        "DriverName": "mysql",
        "DataSource": "mmuser:@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
        "DataSourceReplicas": [],
        "DataSourceSearchReplicas": [],
        "MaxIdleConns": 20,
        "ConnMaxLifetimeMilliseconds": 3600000,
        "MaxOpenConns": 300,
        "Trace": false,
        "AtRestEncryptKey": "hbrsnitiaicq9fckjxn394nwhzop451n",
        "QueryTimeout": 30,
        "DisableDatabaseSearch": false
    },
    "LogSettings": {
        "EnableConsole": true,
        "ConsoleLevel": "INFO",
        "ConsoleJson": true,
        "EnableFile": true,
        "FileLevel": "INFO",
        "FileJson": true,
        "FileLocation": "",
        "EnableWebhookDebugging": true,
        "EnableDiagnostics": true,
        "EnableSentry": true,
        "AdvancedLoggingConfig": ""
    },
    "ExperimentalAuditSettings": {
        "SysLogEnabled": false,
        "SysLogIP": "localhost",
        "SysLogPort": 6514,
        "SysLogTag": "",
        "SysLogCert": "",
        "SysLogInsecure": false,
        "SysLogMaxQueueSize": 1000,
        "FileEnabled": false,
        "FileName": "",
        "FileMaxSizeMB": 100,
        "FileMaxAgeDays": 0,
        "FileMaxBackups": 0,
        "FileCompress": false,
        "FileMaxQueueSize": 1000
    },
    "NotificationLogSettings": {
        "EnableConsole": true,
        "ConsoleLevel": "INFO",
        "ConsoleJson": true,
        "EnableFile": true,
        "FileLevel": "INFO",
        "FileJson": true,
        "FileLocation": ""
    },
    "PasswordSettings": {
        "MinimumLength": 10,
        "Lowercase": true,
        "Number": true,
        "Uppercase": true,
        "Symbol": true
    },
    "FileSettings": {
        "EnableFileAttachments": true,
        "EnableMobileUpload": true,
        "EnableMobileDownload": true,
        "MaxFileSize": 52428800,
        "DriverName": "local",
        "Directory": "./data/",
        "EnablePublicLink": false,
        "PublicLinkSalt": "eateacszsajnyop1uewjg36e5qcawig9",
        "InitialFont": "nunito-bold.ttf",
        "AmazonS3AccessKeyId": "",
        "AmazonS3SecretAccessKey": "",
        "AmazonS3Bucket": "",
        "AmazonS3PathPrefix": "",
        "AmazonS3Region": "",
        "AmazonS3Endpoint": "s3.amazonaws.com",
        "AmazonS3SSL": true,
        "AmazonS3SignV2": false,
        "AmazonS3SSE": false,
        "AmazonS3Trace": false
    },
    "EmailSettings": {
        "EnableSignUpWithEmail": true,
        "EnableSignInWithEmail": true,
        "EnableSignInWithUsername": true,
        "SendEmailNotifications": true,
        "UseChannelInEmailNotifications": false,
        "RequireEmailVerification": false,
        "FeedbackName": "No-reply",
        "FeedbackEmail": "serhj25@hotmail.com",
        "ReplyToAddress": "serhj25@hotmail.com",
        "FeedbackOrganization": "",
        "EnableSMTPAuth": true,
        "SMTPUsername": "serhj25@hotmail.com",
        "SMTPPassword": "",
        "SMTPServer": "smtp-mail.outlook.com",
        "SMTPPort": "587",
        "SMTPServerTimeout": 10,
        "ConnectionSecurity": "STARTTLS",
        "SendPushNotifications": true,
        "PushNotificationServer": "https://push-test.mattermost.com",
        "PushNotificationContents": "full",
        "PushNotificationBuffer": 1000,
        "EnableEmailBatching": false,
        "EmailBatchingBufferSize": 256,
        "EmailBatchingInterval": 30,
        "EnablePreviewModeBanner": false,
        "SkipServerCertificateVerification": false,
        "EmailNotificationContentsType": "full",
        "LoginButtonColor": "#0000",
        "LoginButtonBorderColor": "#2389D7",
        "LoginButtonTextColor": "#2389D7"
    },
    "RateLimitSettings": {
        "Enable": false,
        "PerSec": 10,
        "MaxBurst": 100,
        "MemoryStoreSize": 10000,
        "VaryByRemoteAddr": true,
        "VaryByUser": false,
        "VaryByHeader": ""
    },
    "PrivacySettings": {
        "ShowEmailAddress": true,
        "ShowFullName": true
    },
    "SupportSettings": {
        "TermsOfServiceLink": "https://about.mattermost.com/default-terms/",
        "PrivacyPolicyLink": "https://about.mattermost.com/default-privacy-policy/",
        "AboutLink": "https://about.mattermost.com/default-about/",
        "HelpLink": "https://about.mattermost.com/default-help/",
        "ReportAProblemLink": "https://about.mattermost.com/default-report-a-problem/",
        "SupportEmail": "feedback@mattermost.com",
        "CustomTermsOfServiceEnabled": false,
        "CustomTermsOfServiceReAcceptancePeriod": 365,
        "EnableAskCommunityLink": true
    },
    "AnnouncementSettings": {
        "EnableBanner": false,
        "BannerText": "",
        "BannerColor": "#f2a93b",
        "BannerTextColor": "#333333",
        "AllowBannerDismissal": true
    },
    "ThemeSettings": {
        "EnableThemeSelection": true,
        "DefaultTheme": "default",
        "AllowCustomThemes": true,
        "AllowedThemes": []
    },
    "GitLabSettings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "",
        "AuthEndpoint": "",
        "TokenEndpoint": "",
        "UserApiEndpoint": ""
    },
    "GoogleSettings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "profile email",
        "AuthEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
        "TokenEndpoint": "https://www.googleapis.com/oauth2/v4/token",
        "UserApiEndpoint": "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata"
    },
    "Office365Settings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "User.Read",
        "AuthEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
        "TokenEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
        "UserApiEndpoint": "https://graph.microsoft.com/v1.0/me",
        "DirectoryId": ""
    },
    "LdapSettings": {
        "Enable": false,
        "EnableSync": false,
        "LdapServer": "",
        "LdapPort": 389,
        "ConnectionSecurity": "",
        "BaseDN": "",
        "BindUsername": "",
        "BindPassword": "",
        "UserFilter": "",
        "GroupFilter": "",
        "GuestFilter": "",
        "EnableAdminFilter": false,
        "AdminFilter": "",
        "GroupDisplayNameAttribute": "",
        "GroupIdAttribute": "",
        "FirstNameAttribute": "",
        "LastNameAttribute": "",
        "EmailAttribute": "",
        "UsernameAttribute": "",
        "NicknameAttribute": "",
        "IdAttribute": "",
        "PositionAttribute": "",
        "LoginIdAttribute": "",
        "PictureAttribute": "",
        "SyncIntervalMinutes": 60,
        "SkipCertificateVerification": false,
        "QueryTimeout": 60,
        "MaxPageSize": 0,
        "LoginFieldName": "",
        "LoginButtonColor": "#0000",
        "LoginButtonBorderColor": "#2389D7",
        "LoginButtonTextColor": "#2389D7",
        "Trace": false
    },
    "ComplianceSettings": {
        "Enable": false,
        "Directory": "./data/",
        "EnableDaily": false
    },
    "LocalizationSettings": {
        "DefaultServerLocale": "en",
        "DefaultClientLocale": "en",
        "AvailableLocales": ""
    },
    "SamlSettings": {
        "Enable": false,
        "EnableSyncWithLdap": false,
        "EnableSyncWithLdapIncludeAuth": false,
        "Verify": true,
        "Encrypt": true,
        "SignRequest": false,
        "IdpUrl": "",
        "IdpDescriptorUrl": "",
        "IdpMetadataUrl": "",
        "ServiceProviderIdentifier": "",
        "AssertionConsumerServiceURL": "",
        "SignatureAlgorithm": "RSAwithSHA1",
        "CanonicalAlgorithm": "Canonical1.0",
        "ScopingIDPProviderId": "",
        "ScopingIDPName": "",
        "IdpCertificateFile": "",
        "PublicCertificateFile": "",
        "PrivateKeyFile": "",
        "IdAttribute": "",
        "GuestAttribute": "",
        "EnableAdminAttribute": false,
        "AdminAttribute": "",
        "FirstNameAttribute": "",
        "LastNameAttribute": "",
        "EmailAttribute": "",
        "UsernameAttribute": "",
        "NicknameAttribute": "",
        "LocaleAttribute": "",
        "PositionAttribute": "",
        "LoginButtonText": "SAML",
        "LoginButtonColor": "#34a28b",
        "LoginButtonBorderColor": "#2389D7",
        "LoginButtonTextColor": "#ffffff"
    },
    "NativeAppSettings": {
        "AppDownloadLink": "https://mattermost.com/download/#mattermostApps",
        "AndroidAppDownloadLink": "https://about.mattermost.com/mattermost-android-app/",
        "IosAppDownloadLink": "https://about.mattermost.com/mattermost-ios-app/"
    },
    "ClusterSettings": {
        "Enable": false,
        "ClusterName": "",
        "OverrideHostname": "",
        "NetworkInterface": "",
        "BindAddress": "",
        "AdvertiseAddress": "",
        "UseIpAddress": true,
        "UseExperimentalGossip": false,
        "EnableExperimentalGossipEncryption": false,
        "ReadOnlyConfig": true,
        "GossipPort": 8074,
        "StreamingPort": 8075,
        "MaxIdleConns": 100,
        "MaxIdleConnsPerHost": 128,
        "IdleConnTimeoutMilliseconds": 90000
    },
    "MetricsSettings": {
        "Enable": false,
        "BlockProfileRate": 0,
        "ListenAddress": ":8067"
    },
    "ExperimentalSettings": {
        "ClientSideCertEnable": false,
        "ClientSideCertCheck": "secondary",
        "EnableClickToReply": false,
        "LinkMetadataTimeoutMilliseconds": 5000,
        "RestrictSystemAdmin": false,
        "UseNewSAMLLibrary": false
    },
    "AnalyticsSettings": {
        "MaxUsersForStatistics": 2500
    },
    "ElasticsearchSettings": {
        "ConnectionUrl": "http://localhost:9200",
        "Username": "elastic",
        "Password": "changeme",
        "EnableIndexing": false,
        "EnableSearching": false,
        "EnableAutocomplete": false,
        "Sniff": true,
        "PostIndexReplicas": 1,
        "PostIndexShards": 1,
        "ChannelIndexReplicas": 1,
        "ChannelIndexShards": 1,
        "UserIndexReplicas": 1,
        "UserIndexShards": 1,
        "AggregatePostsAfterDays": 365,
        "PostsAggregatorJobStartTime": "03:00",
        "IndexPrefix": "",
        "LiveIndexingBatchSize": 1,
        "BulkIndexingTimeWindowSeconds": 3600,
        "RequestTimeoutSeconds": 30,
        "SkipTLSVerification": false,
        "Trace": ""
    },
    "BleveSettings": {
        "IndexDir": "",
        "EnableIndexing": false,
        "EnableSearching": false,
        "EnableAutocomplete": false,
        "BulkIndexingTimeWindowSeconds": 3600
    },
    "DataRetentionSettings": {
        "EnableMessageDeletion": false,
        "EnableFileDeletion": false,
        "MessageRetentionDays": 365,
        "FileRetentionDays": 365,
        "DeletionJobStartTime": "02:00"
    },
    "MessageExportSettings": {
        "EnableExport": false,
        "ExportFormat": "actiance",
        "DailyRunTime": "01:00",
        "ExportFromTimestamp": 0,
        "BatchSize": 10000,
        "GlobalRelaySettings": {
            "CustomerType": "A9",
            "SmtpUsername": "",
            "SmtpPassword": "",
            "EmailAddress": "",
            "SMTPServerTimeout": 1800
        }
    },
    "JobSettings": {
        "RunJobs": true,
        "RunScheduler": true
    },
    "PluginSettings": {
        "Enable": true,
        "EnableUploads": false,
        "AllowInsecureDownloadUrl": false,
        "EnableHealthCheck": true,
        "Directory": "./plugins",
        "ClientDirectory": "./client/plugins",
        "Plugins": {},
        "PluginStates": {
            "com.mattermost.nps": {
                "Enable": true
            }
        },
        "EnableMarketplace": true,
        "EnableRemoteMarketplace": true,
        "AutomaticPrepackagedPlugins": true,
        "RequirePluginSignature": false,
        "MarketplaceUrl": "https://api.integrations.mattermost.com",
        "SignaturePublicKeyFiles": []
    },
    "DisplaySettings": {
        "CustomUrlSchemes": [],
        "ExperimentalTimezone": false
    },
    "GuestAccountsSettings": {
        "Enable": false,
        "AllowEmailAccounts": true,
        "EnforceMultifactorAuthentication": false,
        "RestrictCreationToDomains": ""
    },
    "ImageProxySettings": {
        "Enable": false,
        "ImageProxyType": "local",
        "RemoteImageProxyURL": "",
        "RemoteImageProxyOptions": ""
    }
}

Hello, @Ada

Got it. While I have shared this information internally for further analysis, the SiteURL caught my attention.

Navigating to the URL (with the 8341 and without 8341):

Is there any specific reason as to why the URL includes the port 8341 while the ListenAddress is set to 8065?

Dear @ahmaddanial,
There is not any specific reason as to why the URL includes the port 8341 while the ListenAddress is set to 8065. I would like to ask whether I should use ListenAddress port 8065 or another port number? However, port 80 cannot be use.

I’m thinking that the configuration of this instance must be rather complex due to the nature of the port being set up on the URL in the configuration file as well as a different listening port. @ahmaddanial would it perhaps make better sense to specify port 8341 in the reverse proxy configuration? I feel like this may potentially help with some of the problems involved with this thread, and it’s a bit weird to see two ports in the same configuration, I can’t belive it works honestly.

Hi, @XxLilBoPeepsxX @Ada

Yes, I was thinking the same lines as you do. To have different ports set up was confusing (at least for me), so if we can verify the actual port that you are using for Mattermost (8341 / 8065) and have it configured on the Mattermost configuration and the proxy configuration will help.

The config.json looks fine to me.

@Ada side note, was trying to check on the SSL status got this on my end:

How did you configure the DNS and the SSL for the Mattermost instance?

1 Like

I’m also somewhat curious if we could set up the instance on a subdomain, if at all possible. It seems like this would be a great time to use VHOST configuration if we were to do that, and then we could run it through the reverse proxy on the HTTP/HTTPS ports per standard

Also, I ran a port scan on the resolving IP address of the domain name, and discovered that the port given in the config.json file in the URL of the instance is not even open, as you can see below:

Nmap scan report for static.reserve.wtt.net.hk (218.255.80.122)
Host is up (0.25s latency).
Not shown: 992 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
443/tcp  open  https
1723/tcp open  pptp
3211/tcp open  avsecuremgmt
3306/tcp open  mysql
3371/tcp open  satvid-datalnk
8007/tcp open  ajp12
8008/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 22.84 seconds

Additionally, It appears that this domain is utilizing a shared hosting provider, which likely has something to do with the mismatching SSL certificates, especially since most shared hosting providers use VHOST configuration to allow multiple domains to be loaded from the same port, and the lack of a VHOST record can cause a different domain to attempt to load content to a different address than it is supposed to.

In addition, you can see that the IP I scanned here does indeed resolve to the domain in question by viewing this link:

https://securitytrails.com/list/ip/218.255.80.122

UPDATE:
I discovered when investigating a bit further into the SSL mismatch error that @ahmaddanial found, that when connecting to the domain on port 80 (HTTP) the " Wonderful é›»è©±ć ±æ›Žçł»ç”±" login page is shown. However, when connecting to the same address over HTTPS on port 443, the response given is a certificate warning showing that the HTTPS certificate is not able to be verified, and upon bypassing the warning and continuing to the page, a different response is given, as you can see below:

In addition to the discovery above, when browsing to the actual domain name, and not the IP address of the domain, and connecting over HTTPS and HTTP, it does appear that the domain does resolve to the same URL, however, when connecting over HTTPS it does inform me of a certificate not matching, which leads me to strongly believe that virtual hosting (VHOST) configuration has not been configured in the domain web server configuration, and I do believe that simply changing this in your web server configuration files would help quite a bit. (see below for domain when directly browsed to over HTTPS/HTTP)

1 Like

Dear @ahmaddanial,
I did configure DNS 8.8.8.8, 8.8.4.4 . I did not configure the SSL for the Mattermost instance. I just use STARTTLS to configure STMP in System Console. Please refer to below images.


Screenshot from 2020-11-26 10-21-48

Dear @ahmaddanial,
Could you see my reply? Thank you.

Hello, yes, I can see your reply!

I have personally came to the conclusion that this error is most likely due to the configuration as a whole of your Mattermost server, because the URL of the web server should not have a port included with it.

This will require several steps to remedy, which include modifying your Mattermost config.json file, as well as changing the web server configuration file for your Mattermost instance to include a reverse proxy, to route correctly.

In addition, I would be more than happy to assist in obtaining a SSL certificate so that you can serve your Mattermost instance over HTTPS, and in addition to that, I believe that I can assist you in properly configuring your VHOST so that you are taken to the correct domain when you visit the URL, regardless of what port is given to the domain.

However, this is somewhat complex, and I am not sure of your experience level working with the Linux command line, is this something that your familiar with?

Dear @XxLilBoPeepsxX,
I would like to inform you that I can work with the Linux command line, if you can provide me clear steps to solve the problems. Thank you.

Alright, well I’d be more than happy to help you out, and provide commands, but until I see the files in question, I’m afraid that I can’t accurately tell you how to fix these issues.

In order to be able to provide you the most accurate and quick steps to solve your issue, I will need to know the following things:

  • Are you using Nginx or Apache
  • Please provide the contents of all of the website configuration files for your web server; I believe that there are configuration errors/variables missing in each of them that is contributing to this issue.
  • Linux OS version (Ex. Ubuntu 18.04 Bionic)
  • Are you looking to run your Mattermost instance on the specific port that it is running off of now, or could we configure it so that you can access the Mattermost instance from mydomain.com or subdomain.mydomain.com?
  • Is there any specific reason that you have your websites configured the way that you do currently, and is there anything that cannot or would be prefered to not change/modify?

Dear @XxLilBoPeepsxX,
I would like to answer you the following questions:

  1. I am not using Nginx or Apache.

  2. I copy the error messages from Mattermost --> System Console --> Server logs
    {“level”:“error”,“ts”:1606897162.7948306,“caller”:“mlog/log.go:190”,“msg”:“This is not a valid live URL”,“path”:"/api/v4/site_url/test",“request_id”:“pfs1qcq6ybny5bwe71upk6nt5h”,“ip_addr”:“218.255.80.122”,“user_id”:“fcjjgd7pftfbpq998h3gd7t6zh”,“method”:“POST”,“err_where”:“testSiteURL”,“http_code”:400,“err_details”:""}
    {“level”:“error”,“ts”:1606897165.79162,“caller”:“mlog/log.go:190”,“msg”:“This is not a valid live URL”,“path”:"/api/v4/site_url/test",“request_id”:“85tjfaqk5fy7bdn483wyhn4dxh”,“ip_addr”:“218.255.80.122”,“user_id”:“fcjjgd7pftfbpq998h3gd7t6zh”,“method”:“POST”,“err_where”:“testSiteURL”,“http_code”:400,“err_details”:""}
    {“level”:“error”,“ts”:1606897171.6476815,“caller”:“mlog/log.go:190”,“msg”:“This is not a valid live URL”,“path”:"/api/v4/site_url/test",“request_id”:“9anuu58a8tgjmxw6jomrbqbdza”,“ip_addr”:“218.255.80.122”,“user_id”:“fcjjgd7pftfbpq998h3gd7t6zh”,“method”:“POST”,“err_where”:“testSiteURL”,“http_code”:400,“err_details”:""}
    {“level”:“error”,“ts”:1606897174.7276313,“caller”:“mlog/log.go:190”,“msg”:“This is not a valid live URL”,“path”:"/api/v4/site_url/test",“request_id”:“h148auzhof8s9gqp9k6mz154xc”,“ip_addr”:“218.255.80.122”,“user_id”:“fcjjgd7pftfbpq998h3gd7t6zh”,“method”:“POST”,“err_where”:“testSiteURL”,“http_code”:400,“err_details”:""}

  3. I use CentOS 8 version. Please refer to below image.

  4. Yes, I am looking to run your Mattermost instance on the specific port that it is running off of now, but you cannot use port 80. You can configure it the Mattermost instance from mydomain.com 1 or subdomain.mydomain.com . However, our company need to use router to do the port forward. Is there free of charge web hosting or Domain name website?

  5. The reason is that our company need to use router to do the port forward. You can change or modify the websites configured, yet you cannot use port 80. Thank you.