示例配置文件:

    1. worker_processes 1;
    2. user www-data;
    3. error_log /var/log/nginx/error.log warn;
    4. pid /var/run/nginx.pid;
    5. events {
    6. worker_connections 1024;
    7. }
    8. http {
    9. default_type application/octet-stream;
    10. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    11. '$status $body_bytes_sent "$http_referer" '
    12. '"$http_user_agent" "$http_x_forwarded_for"';
    13. access_log /var/log/nginx/access.log main;
    14. sendfile on;
    15. keepalive_timeout 65;
    16. gzip on;
    17. client_header_buffer_size 1k;
    18. large_client_header_buffers 4 4k;
    19. ssl_certificate /etc/ssl/certs/your_cert.crt;
    20. ssl_certificate_key /etc/ssl/certs/your_cert.key;
    21. ssl_prefer_server_ciphers on;
    22. # intermediate configuration. tweak to your needs.
    23. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    24. ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    25. # waline
    26. server {
    27. listen 8899 ssl;
    28. server_name *.sharpblog.cn;
    29. location / {
    30. proxy_pass http://127.0.0.1:44383;
    31. proxy_set_header Host $host;
    32. proxy_set_header X-Real-IP $remote_addr;
    33. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    34. proxy_set_header X-Forwarded-Proto https;
    35. }
    36. }
    37. # web http -> https
    38. server {
    39. listen 80;
    40. server_name *.sharpblog.cn;
    41. rewrite ^(.*) https://$server_name:8443$1 permanent;
    42. }
    43. # web https
    44. server {
    45. listen 443 ssl;
    46. server_name *.sharpblog.cn;
    47. location / {
    48. proxy_pass https://127.0.0.1:44381;
    49. proxy_set_header Host $host;
    50. proxy_set_header X-Real-IP $remote_addr;
    51. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    52. proxy_set_header X-Forwarded-Proto https;
    53. }
    54. location /api/ {
    55. proxy_pass https://127.0.0.1:44380;
    56. proxy_set_header Host $host;
    57. proxy_set_header X-Real-IP $remote_addr;
    58. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    59. proxy_set_header X-Forwarded-Proto https;
    60. }
    61. location /swagger/ {
    62. proxy_pass https://127.0.0.1:44380;
    63. proxy_set_header Host $host;
    64. proxy_set_header X-Real-IP $remote_addr;
    65. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    66. proxy_set_header X-Forwarded-Proto https;
    67. }
    68. }
    69. # admin https
    70. server {
    71. listen 8181 ssl;
    72. server_name *.sharpblog.cn;
    73. location / {
    74. proxy_pass https://127.0.0.1:44382;
    75. proxy_set_header Host $host;
    76. proxy_set_header X-Real-IP $remote_addr;
    77. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    78. proxy_set_header X-Forwarded-Proto https;
    79. }
    80. }
    81. }