在 Nginx + Ubuntu + EC2 上设置 443 端口 SSL

在 Nginx + Ubuntu + EC2 上设置 443 端口 SSL

我尝试了所有方法,并在 Google 上搜索了一些解决方案,但无法在 Amazon EC2 上的 Ubuntu 14.04.2 LTS 中的 Nginx 服务器中配置 SSL(https)。我的网站在端口 80 上使用 HTTP 时运行良好,但我认为采用 HTTPS 更安全。

注意事项:

  1. 每当我尝试通过以下方式访问它时https://都会出现错误:ERR_CONNECTION_TIMED_OUT

  2. 命令curl -v https://www.mywebsite.com/返回: curl: (7) Failed to connect to www.mywebsite.com port 443: Connection timed out

  3. 命令nc -vz localhost 443返回:Connection to localhost 443 port [tcp/https] succeeded!

  4. 命令nc -vz myserverIP 443返回:nc: 连接到我的服务器IP端口 443 (tcp) 失败:连接超时

  5. HTTPS 的 TCP 443 端口对入站和出站的安全组(Amazon ec2 防火墙)上的任何位置开放。

  6. `netstat -ntlp | grep 聆听:

    tcp 0 0 0.0.0.0:21 0.0.0.0:* 监听 1244/proftpd: (acce tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听 1130/sshd tcp 0 0 0.0.0.0:443 0.0.0.0:* 监听 563​​3/nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* 监听 563​​3/nginx tcp6 0 0 :::22 :::* 监听 1130/sshd tcp6 0 0 :::443 :::* 监听 563​​3/nginx tcp6 0 0 :::80 :::* 监听 563​​3/nginx

Nginx 配置:

  1. nginx.conf:http://pastebin.com/ebSaqabh

  2. ssl.conf(通过 include 调用conf.dnginx.confhttp://pastebin.com/FzVAtjGz

  3. sites-available/default

    服务器 { 监听 80 default_server; 监听 [::]:80 default_server ipv6only=on; 字符集 utf-8; 根 /usr/share/nginx/html; 索引 index.php index.html index.htm;

    server_name mywebsite.com www.mywebsite.com;
    #return 301 https://mywebsite.com$request_uri;
    #rewrite ^(.*) https://www.mywebsite.com$1 permanent;
    location / {
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.php?q=$uri&$args;
            }
    
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
    
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    fastcgi_read_timeout 300;
    }
    #include /etc/nginx/common/w3tc.conf;
    include /etc/nginx/common/wordpress-seo-plugin-support.conf;
    

    }

我不知道还能做什么来解决这个问题。有人能帮帮我吗?我的 Nginx 配置有问题吗?还是需要在 Amazon 中更改其他内容?

答案1

哦,我的天... :( Ubuntu 防火墙 (UFW) 已激活(菜鸟)。我添加了ufw allow 443/tcp,现在没问题了。抱歉发帖。但是谁使用 nginx 和 php-fpm 的网络服务器都可以享受上述设置都是正确的,我的网站现在也可以正常使用 https。

相关内容