如何配置nginx的default.conf
How to configure nginx's default.conf
我正在尝试在 /etc/nginx/conf.d
中配置 default.conf
以显示位于 /home/ubuntu/project-source/company/entry/index.html
的简单登录页面。
据我所知,域已正确设置为指向服务器
A: test24.company.io -> <aws-elastic-IP>
default.conf:
server {
listen 80;
server_name localhost;
index index.html;
location / {
root /home/ubuntu/project-source/company/entry;
}
}
server {
server_name test24.company.io www.test24.company.io;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/test24.company.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/test24.company.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = test24.company.io) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name test24.company.io www.test24.company.io;
return 404; # managed by Certbot
}
其他问题:该项目将 运行 2 个子域上的 2 个进程假设 sub1
和 sub2
他们将 运行 localhost:3001
和 localhost:3002
分别,如何将 default.conf
配置为 point/proxy 这些进程?
首先使用这种方式将HTTP重定向到HTTPS
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
其次,您的服务器根目录未包含在 SSL 服务器中,它应该包含
root /home/ubuntu/project-source/company/entry;
第三
您可以在不同的端口上添加您想要的应用程序。只需复制粘贴整个服务器代码并更改所需的值,如根位置和 PORT
编辑结束后保存并重启服务器
sudo service nginx restart
好吧,经过许多天和数小时的思考,我得出了这个解决方案:
在 GoDaddy 的 DNS 上,我添加了这些记录:
A: test24.company.io -> <aws-elastic-IP>
A: sub1.test24.company.io -> <aws-elastic-IP>
A: sub2.test24.company.io -> <aws-elastic-IP>
注意: 3条记录都指向同一个弹性IP,无需为每个子域设置单独的弹性IP .
nginx conf文件配置如下:
https://gist.github.com/ahmed-abdelazim/b3536c1780afc4215ef57633bbe77a88
This post 是关于为服务器上的不同端口设置 nginx 代理的非常有用的指南。
nginx 配置文件中的所有其余部分均由 certbot 生成,它还管理从 http 到 https 的重定向。
模组注意事项:出于某种原因,我似乎无法在此答案中格式化 GitHubGist 的代码。
我正在尝试在 /etc/nginx/conf.d
中配置 default.conf
以显示位于 /home/ubuntu/project-source/company/entry/index.html
的简单登录页面。
据我所知,域已正确设置为指向服务器
A: test24.company.io -> <aws-elastic-IP>
default.conf:
server {
listen 80;
server_name localhost;
index index.html;
location / {
root /home/ubuntu/project-source/company/entry;
}
}
server {
server_name test24.company.io www.test24.company.io;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/test24.company.io/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/test24.company.io/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = test24.company.io) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name test24.company.io www.test24.company.io;
return 404; # managed by Certbot
}
其他问题:该项目将 运行 2 个子域上的 2 个进程假设 sub1
和 sub2
他们将 运行 localhost:3001
和 localhost:3002
分别,如何将 default.conf
配置为 point/proxy 这些进程?
首先使用这种方式将HTTP重定向到HTTPS
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
其次,您的服务器根目录未包含在 SSL 服务器中,它应该包含
root /home/ubuntu/project-source/company/entry;
第三 您可以在不同的端口上添加您想要的应用程序。只需复制粘贴整个服务器代码并更改所需的值,如根位置和 PORT
编辑结束后保存并重启服务器
sudo service nginx restart
好吧,经过许多天和数小时的思考,我得出了这个解决方案:
在 GoDaddy 的 DNS 上,我添加了这些记录:
A: test24.company.io -> <aws-elastic-IP>
A: sub1.test24.company.io -> <aws-elastic-IP>
A: sub2.test24.company.io -> <aws-elastic-IP>
注意: 3条记录都指向同一个弹性IP,无需为每个子域设置单独的弹性IP .nginx conf文件配置如下: https://gist.github.com/ahmed-abdelazim/b3536c1780afc4215ef57633bbe77a88
This post 是关于为服务器上的不同端口设置 nginx 代理的非常有用的指南。
nginx 配置文件中的所有其余部分均由 certbot 生成,它还管理从 http 到 https 的重定向。
模组注意事项:出于某种原因,我似乎无法在此答案中格式化 GitHubGist 的代码。