0

我需要在我的服务器上设置 SSL,并且一直在推迟它,我现在已经完成了,发现它比预期的要简单得多,所以对于其他人来说,这是我遵循的过程。

我有一个专用服务器,并下载了 GeoTrust 证书和私钥(由我的主机提供)。

我已经将这两个上传到 /etc/nginx/ssl/ (以 root 身份)。

我在我的 Nginx default.conf 中添加了以下内容:

server {
  server_name www.example.com;
  listen 443;
  ssl on;
  ssl_certificate /etc/nginx/ssl/www.example.com_ssl_certificate.cer;
  ssl_certificate_key /etc/nginx/ssl/www.example.com_private_key.key;

  location / {
    allow all;

    # Proxy Headers
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Cluster-Client-Ip $remote_addr;

    # The Important Websocket Bits!
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_pass http://examplecom;
  }
}

我已经打开了 443 端口,如下所示:

firewall-cmd --permanent --zone=public --add-port=443/tcp

并添加了 https 服务:

firewall-cmd --permanent --zone=public --add-service=https

我现在可以在我的域中通过 https 访问该应用程序。

最后一个问题是通过 wss 设置 Phoenix Web 套接字,我将编辑这篇文章并在完成后立即添加该信息。

某人。

Centos 7
Nginx 1.10.1
4

1 回答 1

0

您需要以这种方式配置它才能与 Nginx 一起使用

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com ;

ssl_certificate_key /etc/letsencrypt/live/api.domain.com/privkey.pem;
ssl_certificate    /etc/letsencrypt/live/api.domain.com/fullchain.pem;

    error_page 403 404 500 502 503 504 /critical_error.html;



    if ($scheme = http) {
         return 301 https://$server_name$request_uri;
        }


        access_log /var/log/nginx/exampleApi-access.log main;
        error_log /var/log/nginx/exampleApi-error.log;

    location / {
        proxy_pass http://yourip:port;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

}

它肯定会起作用,你应该试试这个。

于 2021-08-02T11:22:38.487 回答