nginx server_name based on $hostname Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Come Celebrate our 10 Year Anniversary!Use 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
What does '1 unit of lemon juice' mean in a grandma's drink recipe?
What is the longest distance a 13th-level monk can jump while attacking on the same turn?
Why is "Captain Marvel" translated as male in Portugal?
macOS-like app switching in Plasma 5
Is 1 ppb equal to 1 μg/kg?
Java 8 stream max() function argument type Comparator vs Comparable
Why did the IBM 650 use bi-quinary?
Output the ŋarâþ crîþ alphabet song without using (m)any letters
How much radiation do nuclear physics experiments expose researchers to nowadays?
How do I stop a creek from eroding my steep embankment?
Why are there no cargo aircraft with "flying wing" design?
WAN encapsulation
How to draw this diagram using TikZ package?
ListPlot join points by nearest neighbor rather than order
Why don't the Weasley twins use magic outside of school if the Trace can only find the location of spells cast?
Is it possible to boil a liquid by just mixing many immiscible liquids together?
How to bypass password on Windows XP account?
What happens to sewage if there is no river near by?
Does the Giant Rocktopus have a Swim Speed?
Did Xerox really develop the first LAN?
Should gear shift center itself while in neutral?
Why was the term "discrete" used in discrete logarithm?
Letter Boxed validator
Marking the functions of a sentence: 'She may like it'
nginx server_name based on $hostname
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
Come Celebrate our 10 Year Anniversary!Use 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 Apr 10 at 13:15
answered Dec 7 '11 at 12:09
kolbyjackkolbyjack
6,49912625
6,49912625
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