How to Direct Exchange ports for to Exchange servers each server is diffrent domain?HaProxy - Http and SSL pass through confighaproxy forward uri to root of another serverHAProxy - ssl client ca chain cannot be verifiedHaproxy logging not workHA-Proxy 301 re-direct: https to https://wwwHAProxy to redirect http to https for multiple domain names without SSL TerminationHaProxy giving - 503 Service UnavailableSASL auth to LDAP behind HAPROXY with name mismatchesopenldap with haproxy - (ldap_result() failed: Can't contact LDAP server)How can I configure haproxy to put two frontends to access owa online?
Watts vs. Volt Amps
Comparing and find out which feature has highest shape area in QGIS?
Which comes first? Multiple Imputation, Splitting into train/test, or Standardization/Normalization
Was there a priest on the Titanic who stayed on the ship giving confession to as many as he could?
Find the Factorial From the Given Prime Relationship
What does the "c." listed under weapon length mean?
How Can I Tell The Difference Between Unmarked Sugar and Stevia?
Compiling c files on ubuntu and using the executable on Windows
What was with Miles Morales's stickers?
Is the term 'open source' a trademark?
What is the giant octopus in the torture chamber for?
Is it a problem if <h4>, <h5> and <h6> are smaller than regular text?
Can the poison from Kingsmen be concocted?
Arriving at the same result with the opposite hypotheses
Implement Homestuck's Catenative Doomsday Dice Cascader
Taxi Services at Didcot
Should an arbiter claim draw at a K+R vs K+R endgame?
Genetic limitations to learn certain instruments
Can a black dragonborn's acid breath weapon destroy objects?
"You've got another thing coming" - translation into French
Should I give professor gift at the beginning of my PhD?
How can I most clearly write a homebrew item that affects the ground below its radius after the initial explosion it creates?
Russian equivalents of "no love lost"
Can an Aarakocra use a shield while flying?
How to Direct Exchange ports for to Exchange servers each server is diffrent domain?
HaProxy - Http and SSL pass through confighaproxy forward uri to root of another serverHAProxy - ssl client ca chain cannot be verifiedHaproxy logging not workHA-Proxy 301 re-direct: https to https://wwwHAProxy to redirect http to https for multiple domain names without SSL TerminationHaProxy giving - 503 Service UnavailableSASL auth to LDAP behind HAPROXY with name mismatchesopenldap with haproxy - (ldap_result() failed: Can't contact LDAP server)How can I configure haproxy to put two frontends to access owa online?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have 2 different exchange 2013 servers which i load between them by haproxy...
i have a public ip address
and i have a problem that is i cant redirect smtp,imap and pop3 ports to the servers at the same time
this is my haproxy.cfg config file which is not working until i remove on server it works for only one like 192.168.100.23 and the other not working 192.168.100.21
global
log 127.0.0.1 syslog
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
#ca-base /etc/ssl/certs
#crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# An alternative list with additional directives can be obtained from
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
#ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
tune.ssl.default-dh-param 4096
ssl-default-bind-options no-sslv3 no-tls-tickets
ssl-default-bind-ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind *:9090
mode http
maxconn 10
stats enable
stats hide-version
stats realm Haproxy Statistics
stats uri /
stats auth admin:admin
frontend haproxy_in
bind *:80
#bind *:443 ssl crt /etc/haproxy/certs/server.com.pem crt /etc/haproxy /certs/server1.com.pem
mode http
# Define Path For LetsEncrypt.........................
acl is_letsencrypt path_beg -i /.well-known/acme-challenge/
use_backend letsencrypt if is_letsencrypt
# Define hosts........................................
acl is_metro hdr_dom(host) -i server.com
acl is_lib hdr_dom(host) -i server1.com
# Direct hosts to backend..............................
use_backend metro if is_metro
use_backend sindyan if is_sindyan
default_backend metro
# Redirect port 80 t0 443 except lets encrypt............
redirect scheme https code 301 if ! ssl_fc !is_letsencrypt
backend letsencrypt
server letsencrypt 127.0.0.1:8888
backend metro
balance roundrobin
mode http
server vm1 192.168.100.21:80/owa check
backend sindyan
balance roundrobin
mode http
server vm3 192.168.100.23:80/owa check
frontend SMTP
bind *:25
mode tcp
default_backend smtp
backend smtp
balance roundrobin
mode tcp
server vm3 192.168.100.21:25 check
server vm4 192.168.100.23:25 check
frontend SMTP_Secure
bind *:587
mode tcp
# Define hosts........................................
default_backend smtps
backend smtps
balance roundrobin
mode tcp
server vm3 192.168.100.21:587check
server vm4 192.168.100.23:587 check
frontend SMTP_S
bind *:465
mode tcp
default_backend ss
backend ss
balance roundrobin
mode tcp
server vm7 192.168.100.21:465 check
server vm8 192.168.100.23:465 check
frontend pop3_S
bind *:995
mode tcp
default_backend pops
backend pops
balance roundrobin
mode tcp
server vm9 192.168.100.21:995 check
server vm10 192.168.100.23:995 check
frontend pop3
bind *:110
mode tcp
default_backend pop
backend pop
balance roundrobin
mode tcp
server vm11 192.168.100.21:110 check
server vm12 192.168.100.23:110 check
frontend IMAP
bind *:143
mode tcp
default_backend IMAP
backend IMAP
balance roundrobin
mode tcp
server vm13 192.168.100.21:143 check
server vm14 192.168.100.23:143 check
frontend IMAPS
bind *:993
mode tcp
default_backend IMAPS
backend IMAPS
balance roundrobin
mode tcp
server vm15 192.168.100.21:993 check
server vm16 192.168.100.23:993 check
so please help me to make all tcp ports serves both servers at the same time without roundroben method i need them directly routed for each exchange server
thanks
exchange haproxy high-availability ubuntu-16.04 exchange-2013
add a comment |
I have 2 different exchange 2013 servers which i load between them by haproxy...
i have a public ip address
and i have a problem that is i cant redirect smtp,imap and pop3 ports to the servers at the same time
this is my haproxy.cfg config file which is not working until i remove on server it works for only one like 192.168.100.23 and the other not working 192.168.100.21
global
log 127.0.0.1 syslog
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
#ca-base /etc/ssl/certs
#crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# An alternative list with additional directives can be obtained from
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
#ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
tune.ssl.default-dh-param 4096
ssl-default-bind-options no-sslv3 no-tls-tickets
ssl-default-bind-ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind *:9090
mode http
maxconn 10
stats enable
stats hide-version
stats realm Haproxy Statistics
stats uri /
stats auth admin:admin
frontend haproxy_in
bind *:80
#bind *:443 ssl crt /etc/haproxy/certs/server.com.pem crt /etc/haproxy /certs/server1.com.pem
mode http
# Define Path For LetsEncrypt.........................
acl is_letsencrypt path_beg -i /.well-known/acme-challenge/
use_backend letsencrypt if is_letsencrypt
# Define hosts........................................
acl is_metro hdr_dom(host) -i server.com
acl is_lib hdr_dom(host) -i server1.com
# Direct hosts to backend..............................
use_backend metro if is_metro
use_backend sindyan if is_sindyan
default_backend metro
# Redirect port 80 t0 443 except lets encrypt............
redirect scheme https code 301 if ! ssl_fc !is_letsencrypt
backend letsencrypt
server letsencrypt 127.0.0.1:8888
backend metro
balance roundrobin
mode http
server vm1 192.168.100.21:80/owa check
backend sindyan
balance roundrobin
mode http
server vm3 192.168.100.23:80/owa check
frontend SMTP
bind *:25
mode tcp
default_backend smtp
backend smtp
balance roundrobin
mode tcp
server vm3 192.168.100.21:25 check
server vm4 192.168.100.23:25 check
frontend SMTP_Secure
bind *:587
mode tcp
# Define hosts........................................
default_backend smtps
backend smtps
balance roundrobin
mode tcp
server vm3 192.168.100.21:587check
server vm4 192.168.100.23:587 check
frontend SMTP_S
bind *:465
mode tcp
default_backend ss
backend ss
balance roundrobin
mode tcp
server vm7 192.168.100.21:465 check
server vm8 192.168.100.23:465 check
frontend pop3_S
bind *:995
mode tcp
default_backend pops
backend pops
balance roundrobin
mode tcp
server vm9 192.168.100.21:995 check
server vm10 192.168.100.23:995 check
frontend pop3
bind *:110
mode tcp
default_backend pop
backend pop
balance roundrobin
mode tcp
server vm11 192.168.100.21:110 check
server vm12 192.168.100.23:110 check
frontend IMAP
bind *:143
mode tcp
default_backend IMAP
backend IMAP
balance roundrobin
mode tcp
server vm13 192.168.100.21:143 check
server vm14 192.168.100.23:143 check
frontend IMAPS
bind *:993
mode tcp
default_backend IMAPS
backend IMAPS
balance roundrobin
mode tcp
server vm15 192.168.100.21:993 check
server vm16 192.168.100.23:993 check
so please help me to make all tcp ports serves both servers at the same time without roundroben method i need them directly routed for each exchange server
thanks
exchange haproxy high-availability ubuntu-16.04 exchange-2013
add a comment |
I have 2 different exchange 2013 servers which i load between them by haproxy...
i have a public ip address
and i have a problem that is i cant redirect smtp,imap and pop3 ports to the servers at the same time
this is my haproxy.cfg config file which is not working until i remove on server it works for only one like 192.168.100.23 and the other not working 192.168.100.21
global
log 127.0.0.1 syslog
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
#ca-base /etc/ssl/certs
#crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# An alternative list with additional directives can be obtained from
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
#ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
tune.ssl.default-dh-param 4096
ssl-default-bind-options no-sslv3 no-tls-tickets
ssl-default-bind-ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind *:9090
mode http
maxconn 10
stats enable
stats hide-version
stats realm Haproxy Statistics
stats uri /
stats auth admin:admin
frontend haproxy_in
bind *:80
#bind *:443 ssl crt /etc/haproxy/certs/server.com.pem crt /etc/haproxy /certs/server1.com.pem
mode http
# Define Path For LetsEncrypt.........................
acl is_letsencrypt path_beg -i /.well-known/acme-challenge/
use_backend letsencrypt if is_letsencrypt
# Define hosts........................................
acl is_metro hdr_dom(host) -i server.com
acl is_lib hdr_dom(host) -i server1.com
# Direct hosts to backend..............................
use_backend metro if is_metro
use_backend sindyan if is_sindyan
default_backend metro
# Redirect port 80 t0 443 except lets encrypt............
redirect scheme https code 301 if ! ssl_fc !is_letsencrypt
backend letsencrypt
server letsencrypt 127.0.0.1:8888
backend metro
balance roundrobin
mode http
server vm1 192.168.100.21:80/owa check
backend sindyan
balance roundrobin
mode http
server vm3 192.168.100.23:80/owa check
frontend SMTP
bind *:25
mode tcp
default_backend smtp
backend smtp
balance roundrobin
mode tcp
server vm3 192.168.100.21:25 check
server vm4 192.168.100.23:25 check
frontend SMTP_Secure
bind *:587
mode tcp
# Define hosts........................................
default_backend smtps
backend smtps
balance roundrobin
mode tcp
server vm3 192.168.100.21:587check
server vm4 192.168.100.23:587 check
frontend SMTP_S
bind *:465
mode tcp
default_backend ss
backend ss
balance roundrobin
mode tcp
server vm7 192.168.100.21:465 check
server vm8 192.168.100.23:465 check
frontend pop3_S
bind *:995
mode tcp
default_backend pops
backend pops
balance roundrobin
mode tcp
server vm9 192.168.100.21:995 check
server vm10 192.168.100.23:995 check
frontend pop3
bind *:110
mode tcp
default_backend pop
backend pop
balance roundrobin
mode tcp
server vm11 192.168.100.21:110 check
server vm12 192.168.100.23:110 check
frontend IMAP
bind *:143
mode tcp
default_backend IMAP
backend IMAP
balance roundrobin
mode tcp
server vm13 192.168.100.21:143 check
server vm14 192.168.100.23:143 check
frontend IMAPS
bind *:993
mode tcp
default_backend IMAPS
backend IMAPS
balance roundrobin
mode tcp
server vm15 192.168.100.21:993 check
server vm16 192.168.100.23:993 check
so please help me to make all tcp ports serves both servers at the same time without roundroben method i need them directly routed for each exchange server
thanks
exchange haproxy high-availability ubuntu-16.04 exchange-2013
I have 2 different exchange 2013 servers which i load between them by haproxy...
i have a public ip address
and i have a problem that is i cant redirect smtp,imap and pop3 ports to the servers at the same time
this is my haproxy.cfg config file which is not working until i remove on server it works for only one like 192.168.100.23 and the other not working 192.168.100.21
global
log 127.0.0.1 syslog
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
#ca-base /etc/ssl/certs
#crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# An alternative list with additional directives can be obtained from
# https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
#ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
tune.ssl.default-dh-param 4096
ssl-default-bind-options no-sslv3 no-tls-tickets
ssl-default-bind-ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats
bind *:9090
mode http
maxconn 10
stats enable
stats hide-version
stats realm Haproxy Statistics
stats uri /
stats auth admin:admin
frontend haproxy_in
bind *:80
#bind *:443 ssl crt /etc/haproxy/certs/server.com.pem crt /etc/haproxy /certs/server1.com.pem
mode http
# Define Path For LetsEncrypt.........................
acl is_letsencrypt path_beg -i /.well-known/acme-challenge/
use_backend letsencrypt if is_letsencrypt
# Define hosts........................................
acl is_metro hdr_dom(host) -i server.com
acl is_lib hdr_dom(host) -i server1.com
# Direct hosts to backend..............................
use_backend metro if is_metro
use_backend sindyan if is_sindyan
default_backend metro
# Redirect port 80 t0 443 except lets encrypt............
redirect scheme https code 301 if ! ssl_fc !is_letsencrypt
backend letsencrypt
server letsencrypt 127.0.0.1:8888
backend metro
balance roundrobin
mode http
server vm1 192.168.100.21:80/owa check
backend sindyan
balance roundrobin
mode http
server vm3 192.168.100.23:80/owa check
frontend SMTP
bind *:25
mode tcp
default_backend smtp
backend smtp
balance roundrobin
mode tcp
server vm3 192.168.100.21:25 check
server vm4 192.168.100.23:25 check
frontend SMTP_Secure
bind *:587
mode tcp
# Define hosts........................................
default_backend smtps
backend smtps
balance roundrobin
mode tcp
server vm3 192.168.100.21:587check
server vm4 192.168.100.23:587 check
frontend SMTP_S
bind *:465
mode tcp
default_backend ss
backend ss
balance roundrobin
mode tcp
server vm7 192.168.100.21:465 check
server vm8 192.168.100.23:465 check
frontend pop3_S
bind *:995
mode tcp
default_backend pops
backend pops
balance roundrobin
mode tcp
server vm9 192.168.100.21:995 check
server vm10 192.168.100.23:995 check
frontend pop3
bind *:110
mode tcp
default_backend pop
backend pop
balance roundrobin
mode tcp
server vm11 192.168.100.21:110 check
server vm12 192.168.100.23:110 check
frontend IMAP
bind *:143
mode tcp
default_backend IMAP
backend IMAP
balance roundrobin
mode tcp
server vm13 192.168.100.21:143 check
server vm14 192.168.100.23:143 check
frontend IMAPS
bind *:993
mode tcp
default_backend IMAPS
backend IMAPS
balance roundrobin
mode tcp
server vm15 192.168.100.21:993 check
server vm16 192.168.100.23:993 check
so please help me to make all tcp ports serves both servers at the same time without roundroben method i need them directly routed for each exchange server
thanks
exchange haproxy high-availability ubuntu-16.04 exchange-2013
exchange haproxy high-availability ubuntu-16.04 exchange-2013
asked May 21 at 13:10
roney ITroney IT
12
12
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968227%2fhow-to-direct-exchange-ports-for-to-exchange-servers-each-server-is-diffrent-dom%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f968227%2fhow-to-direct-exchange-ports-for-to-exchange-servers-each-server-is-diffrent-dom%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown