nginx - 具有多个域和 https 的 Nginx 设置
问题描述
我希望我的服务器可以有多个域和 https。所以我有两台服务器来监听 80 端口并重定向到 443。
这是我的设置
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name example2.com;
root /var/www/html/example2;
index index.html index.htm index.php;
return 301 https://example2.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
root /var/www/html/example2;
index index.html index.htm index.nginx-debian.html;
server_name example2.com;
location / {
try_files $uri $uri/ =404;
}
}
但是我重新启动nginx服务后,它显示了失败的消息。此错误消息来自“systemctl status nginx.service”。
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since 一 2018-05-07 20:55:52 CST; 44s ago
Process: 14870 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 13955 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 14874 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 13956 (code=exited, status=0/SUCCESS)
5月 07 20:55:52 my-server systemd[1]: Starting A high performance web server and a reverse proxy server...
5月 07 20:55:52 my-server nginx[14874]: nginx: [emerg] a duplicate default server for [::]:443 in /etc/nginx/sites-enabled/default:120
5月 07 20:55:52 my-server nginx[14874]: nginx: configuration file /etc/nginx/nginx.conf test failed
5月 07 20:55:52 my-server systemd[1]: nginx.service: Control process exited, code=exited status=1
5月 07 20:55:52 ailab-server systemd[1]: Failed to start A high performance web server and a reverse proxy server.
5月 07 20:55:52 my-server systemd[1]: nginx.service: Unit entered failed state.
5月 07 20:55:52 my-server systemd[1]: nginx.service: Failed with result 'exit-code'.
我不确定我的设置中的问题。我的设置有什么问题?谢谢!
解决方案
推荐阅读
- c# - 负载测试IdentityServer4给出异常:在唱歌后尝试请求signin-oidc路由时相关失败
- r - 为什么我在使用 R 包 edgar 从 10-K 报告中提取业务描述时遇到错误?
- react-native - react-native navigation v3 tabIcons 不显示
- ios - Delphi Berlin:为什么图标应用程序和启动图像在 iOS 模拟器上不起作用?
- php - 我们可以接受某个数据库的所有表中的列的唯一值吗?
- hashmap - 将 SHA 256 摘要映射到整数的最有效方法是什么?
- sql - oracle中的日期元素
- python - 从文件中查找字符串并用作过滤器
- php - 如果变量是,则为多个数字
- ssas - 如何在部署具有时间维度的多维数据集时修复元数据管理器中的错误[“日期”离散化属性不能具有相关属性]