nginx + Apache的443端口的问题

这是我的nginxconfiguration端口443:

server { listen *:443; server_name site.com; ssl on; ssl_protocols SSLv3 TLSv1; ssl_certificate /www/certs/site.com.crt; ssl_certificate_key /www/certs/site.com.key; access_log /var/log/nginx.site.com-access_log; location ~* .(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ { root /www/site.com/; index index.html index.php; access_log off; expires 30d; } location ~ /.ht { deny all; } location / { proxy_pass http://127.0.0.1:81/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } } 

问题1:为什么我被要求进入PEM通行证? 我怎样才能在nginxconfiguration中密码?

 178-162-174-212:/usr/bin# service apache2 restart Restarting web server: apache2. 178-162-174-212:/usr/bin# service nginx restart Restarting nginx: Enter PEM pass phrase: Enter PEM pass phrase: [emerg]: bind() to 188.72.245.198:443 failed (98: Address already in use) [emerg]: bind() to 188.72.245.198:443 failed (98: Address already in use) [emerg]: bind() to 188.72.245.198:443 failed (98: Address already in use) [emerg]: bind() to 188.72.245.198:443 failed (98: Address already in use) [emerg]: bind() to 188.72.245.198:443 failed (98: Address already in use) [emerg]: still could not bind() nginx. 

问题2:为什么443港口有冲突?

Apacheconfiguration:

 NameVirtualHost *:81 Listen 127.0.0.1:81 Listen 999 <IfModule mod_ssl.c> Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> 

如果我注释掉“Listen 443”那一行,那么site.com:443不起作用。

您已将Apache和nginxconfiguration为侦听端口443。

看起来你的意图是让nginx控制这个端口,所以你需要从Apache中删除这个configuration,然后重新启动这两个服务:首先是Apache,然后是nginx。 这应该允许nginx绑定到端口443并提供这些请求。

至于证书密码,nginx不支持在configuration文件中保存用于解密的私钥的密码(对他们来说是好的;由此给出的默认值是毫无价值的)。 解密私钥(并确保它只能被nginx运行的用户读取):

 mv /www/certs/site.com.key /www/certs/site.com.keyold openssl rsa -in /www/certs/site.com.keyold -out /www/certs/site.com.key