在了解了nginx后,我想要用二级域名访问页面。
原配置如下:
server {
listen 8083;
server_name api.lingding.site;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
这样配置后,通过域名+端口可以访问到页面 api.lingding.site:8083 。然而,这并不是我想要的。我希望直接通过 api.lingding.site 即可访问。这个时候就用到了反向代理了。改造如下:
server {
listen 80;
server_name *.lingding.site;
root /usr/share/nginx/html/test;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#proxy_pass https://juejin.im; 反向代理
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
if ($host ~ ^(api)\.lingding\.site$){
proxy_pass http://0.0.0.0:8083;
}
if ($host ~ ^(admin)\.lingding\.site$){
proxy_pass http://0.0.0.0:8081;
}
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 8083;
server_name api.lingding.site;
root /usr/share/nginx/html/api;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
#proxy_pass https://juejin.im; 反向代理
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
这样就可以通过 api.lingding.site 二级域名访问了