我在 https 上的网站上有这个 nginx 配置,其中 nginx 用作反向代理服务器:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name my_domain123.com www.my_domain123.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name localhost www.my_domain123.com;
return 301 https://my_domain123.com$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name my_domain123.com;
location / {
proxy_redirect http://localhost:4000 https://my_domain123.com;
# ...........................
}
我应该如何调整才能主持多种的网站不同的上的域名同一服务器? 我到底应该在配置中的什么位置插入该新网站的新配置?
或者我应该为其创建一个可用的/已启用的站点吗?但问题仍然存在:我该如何正确地组合两个或更多个配置——同一台服务器、多个域?
答案1
/etc/nginx/sites-available/newserver.conf
通常,您会为新服务器创建一个新的配置文件,并从 链接它/etc/nginx/sites-enabled
。
要将 nginx 用作反向代理,请在 nginx ( ssl_certificate
, ...) 中配置 SSL,并在您用于 localhost 的非 SSL 服务器的位置部分中配置SSL proxy_pass
。proxy_redirect
也是需要的,但这只会Location
在非 SSL 本地服务器发送标头时修改标头。
您可以在以下位置找到一个示例文章。
本地主机上使用不同端口的多个 http 服务器
server {
server_name mydomain-01.com;
location / {
proxy_redirect http://localhost:8001 https://mydomain-01.com;
...
}
}
server {
server_name mydomain-02.com;
location / {
proxy_redirect http://localhost:8002 https://mydomain-02.com;
...
}
}
本地主机上使用基于主机名的站点的单个 http 服务器
server {
server_name mydomain-01.com;
location / {
proxy_redirect http://s1.localdomain:4000 https://mydomain-01.com;
...
}
}
server {
server_name mydomain-02.com;
location / {
proxy_redirect http://s2.localdomain:4000 https://mydomain-02.com;
...
}
}