Linux
Ubuntu 作業系統上的安全埠 8000
我只是按照以下教程進行操作:
sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-nginx sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Only valid for 90 days, test the renewal process with certbot renew --dry-run
這確實有效,但僅適用於在主域上執行的客戶端。但我也有一個在埠 8000 上執行的 API。當我訪問 mydomain.com:8000 時,它確實將我重定向到 https,但它顯示以下錯誤:
基本上它永遠載入。
我已經在我的防火牆中允許了 https。我的意思是基本域可以正常工作,只是埠 8000 不能與 https 一起使用,它可以與 http 一起使用。
server { # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html/dexhub/client/build; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name www.iprofitmizer.com iprofitmizer.com; # managed by Certbot error_page 404 /; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location /api { proxy_pass http://localhost:8000; }
訪問你的 nodejs API 的最簡單方法是通過像這樣的代理來定義它
location /api { proxy_pass http://localhost:8000; }
在您的 nginx 虛擬主機配置中(例如
/etc/nginx/sites-enabled/my-site.conf
)。然後,您應該能夠通過https://iprofitmizer.com/api訪問您的 API, 並且 certbot 自動更新也應該可以工作。否則,您必須將 TLS 支持集成到您的 nodejs 應用程序中。