我想通过https服务我的网站,因此我完全按照给定的方式跟随了本教程 。
在第5步sudo nginx -t
给出了积极的结果,因为configuration是好的。 当我跑sudo systemctl restart nginx
它给出了以下错误
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
当我检查/var/log/nginx/error.log错误日志,如果显示此错误
2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)
- Certbot https不适用于example.com,仅适用于www.example.com
- https不能在nginx和apache ubuntu上工作
- 获取https转发到AWS TCP负载均衡器后面的X-Towarded
- 本地端口50721上使用tcp https协议的svchost.exe?
- Apache虚拟主机不匹配ServerAlias
2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)
2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)
2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)
2017/03/14 07:35:20 [emerg] 12111#12111:bind()到0.0.0.0:443失败(98:地址已经在使用)
2017/03/14 07:35:20 [emerg] 12111#12111:仍然无法绑定()
用包括ipv6only=on
技巧尝试之后,显然似乎没有任何工作,现在我无能为力了。
我的默认configuration在这里可用
请帮忙
看起来好像另一个进程打开了端口tcp / 443和nginx因为这个而无法这样做。 你检查netstat的一个已经打开的端口443?
问题是,你有这个在你的configuration:
listen 80 default_server; listen [::]:80 default_server;
这样做如下:
结果:好的
结果:失败
我认为你的第二行,你实际上调用ivp4和ipv6的监听参数。 尝试以下操作:
listen 80 default_server; listen [::]:80 ipv6only=on;
看看它是否有效。
顺便说一句,你也错过了configuration中的一些非常重要的行。 即:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;