nginx server_name based on $hostname The 2019 Stack Overflow Developer Survey Results Are InUse variable for server_name in nginxHow to make nginx reverse proxy let 503 error pages pass through to client?Trouble with nginx and serving from multiple directories under the same domainNginx and Frog CMS admin urlNginx gives 504 Gateway Time-out once moved to liveNginx config file only working for ''/"Can not change nginx 1.2.5 default websitePHP app breaks on Nginx, but works on Apachenginx rewrite throw 404 with last and breakNginX + WordPress + SSL + non-www + W3TC vhost config file questionsnginx configuration trouble
Why didn't the Event Horizon Telescope team mention Sagittarius A*?
Aging parents with no investments
Can we generate random numbers using irrational numbers like π and e?
What do hard-Brexiteers want with respect to the Irish border?
Why do some words that are not inflected have an umlaut?
Delete all lines which don't have n characters before delimiter
Identify boardgame from Big movie
Origin of "cooter" meaning "vagina"
Did Section 31 appear in Star Trek: The Next Generation?
What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?
During Temple times, who can butcher a kosher animal?
Landlord wants to switch my lease to a "Land contract" to "get back at the city"
Falsification in Math vs Science
Can a rogue use sneak attack with weapons that have the thrown property even if they are not thrown?
How can I autofill dates in Excel excluding Sunday?
Is an up-to-date browser secure on an out-of-date OS?
How to manage monthly salary
What is the closest word meaning "respect for time / mindful"
Pokemon Turn Based battle (Python)
Why is the maximum length of OpenWrt’s root password 8 characters?
Geography at the pixel level
Apparent duplicates between Haynes service instructions and MOT
Is flight data recorder erased after every flight?
What does ひと匙 mean in this manga and has it been used colloquially?
nginx server_name based on $hostname
The 2019 Stack Overflow Developer Survey Results Are InUse variable for server_name in nginxHow to make nginx reverse proxy let 503 error pages pass through to client?Trouble with nginx and serving from multiple directories under the same domainNginx and Frog CMS admin urlNginx gives 504 Gateway Time-out once moved to liveNginx config file only working for ''/"Can not change nginx 1.2.5 default websitePHP app breaks on Nginx, but works on Apachenginx rewrite throw 404 with last and breakNginX + WordPress + SSL + non-www + W3TC vhost config file questionsnginx configuration trouble
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
Based on the Nginx wiki the $hostname
variable is set to the machine's hostname as returned by gethostname.
I tried that and although gethostname
doesn't work my Debian box it still returns the host correctly.
Then I tried to use that variable $hostname
to set the server_name
, but that didn't work.
Why is that and is there another way I can accomplish that?
server
listen 80;
autoindex off;
server_name static.$hostname;
root /var/www/static;
access_log /var/log/nginx/localhost.access.log;
location /
index index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
nginx hostname
add a comment |
Based on the Nginx wiki the $hostname
variable is set to the machine's hostname as returned by gethostname.
I tried that and although gethostname
doesn't work my Debian box it still returns the host correctly.
Then I tried to use that variable $hostname
to set the server_name
, but that didn't work.
Why is that and is there another way I can accomplish that?
server
listen 80;
autoindex off;
server_name static.$hostname;
root /var/www/static;
access_log /var/log/nginx/localhost.access.log;
location /
index index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
nginx hostname
add a comment |
Based on the Nginx wiki the $hostname
variable is set to the machine's hostname as returned by gethostname.
I tried that and although gethostname
doesn't work my Debian box it still returns the host correctly.
Then I tried to use that variable $hostname
to set the server_name
, but that didn't work.
Why is that and is there another way I can accomplish that?
server
listen 80;
autoindex off;
server_name static.$hostname;
root /var/www/static;
access_log /var/log/nginx/localhost.access.log;
location /
index index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
nginx hostname
Based on the Nginx wiki the $hostname
variable is set to the machine's hostname as returned by gethostname.
I tried that and although gethostname
doesn't work my Debian box it still returns the host correctly.
Then I tried to use that variable $hostname
to set the server_name
, but that didn't work.
Why is that and is there another way I can accomplish that?
server
listen 80;
autoindex off;
server_name static.$hostname;
root /var/www/static;
access_log /var/log/nginx/localhost.access.log;
location /
index index.html;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
nginx hostname
nginx hostname
edited Jul 20 '18 at 15:45
Community♦
1
1
asked Dec 7 '11 at 11:30
RoboTamerRoboTamer
3371315
3371315
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Most variables in nginx only exist at runtime, not during configuration time.
For this reason, most variables cannot be used with the server_name
directive. Since $hostname
is a constant value, there's an explicit check for exactly $hostname
in the server_name
handler.
It only allows for the server_name
to be set to $hostname
, not static.$hostname
. You may be able to patch the source to make it support that feature (ngx_http_core_module.c
, look for $hostname
), but you can't do it with the existing code.
add a comment |
You should find this works:
server_name static.*;
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
add a comment |
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%2f338504%2fnginx-server-name-based-on-hostname%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Most variables in nginx only exist at runtime, not during configuration time.
For this reason, most variables cannot be used with the server_name
directive. Since $hostname
is a constant value, there's an explicit check for exactly $hostname
in the server_name
handler.
It only allows for the server_name
to be set to $hostname
, not static.$hostname
. You may be able to patch the source to make it support that feature (ngx_http_core_module.c
, look for $hostname
), but you can't do it with the existing code.
add a comment |
Most variables in nginx only exist at runtime, not during configuration time.
For this reason, most variables cannot be used with the server_name
directive. Since $hostname
is a constant value, there's an explicit check for exactly $hostname
in the server_name
handler.
It only allows for the server_name
to be set to $hostname
, not static.$hostname
. You may be able to patch the source to make it support that feature (ngx_http_core_module.c
, look for $hostname
), but you can't do it with the existing code.
add a comment |
Most variables in nginx only exist at runtime, not during configuration time.
For this reason, most variables cannot be used with the server_name
directive. Since $hostname
is a constant value, there's an explicit check for exactly $hostname
in the server_name
handler.
It only allows for the server_name
to be set to $hostname
, not static.$hostname
. You may be able to patch the source to make it support that feature (ngx_http_core_module.c
, look for $hostname
), but you can't do it with the existing code.
Most variables in nginx only exist at runtime, not during configuration time.
For this reason, most variables cannot be used with the server_name
directive. Since $hostname
is a constant value, there's an explicit check for exactly $hostname
in the server_name
handler.
It only allows for the server_name
to be set to $hostname
, not static.$hostname
. You may be able to patch the source to make it support that feature (ngx_http_core_module.c
, look for $hostname
), but you can't do it with the existing code.
edited 13 hours ago
answered Dec 7 '11 at 12:09
kolbyjackkolbyjack
6,47912524
6,47912524
add a comment |
add a comment |
You should find this works:
server_name static.*;
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
add a comment |
You should find this works:
server_name static.*;
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
add a comment |
You should find this works:
server_name static.*;
You should find this works:
server_name static.*;
answered Feb 8 '17 at 11:51
richrich
1436
1436
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
add a comment |
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
This would be incredibly insecure and allow host header injection attacks to anyone who sets "static.malicioushostnamehere.com" as an example.
– MattBoothDev
Nov 16 '18 at 11:25
add a comment |
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%2f338504%2fnginx-server-name-based-on-hostname%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