2012-03-08 30 views
12

Tôi muốn thêm ràng buộc vào trang web bằng cách sử dụng appcmd. Nhưng khi tôi thử lệnh sau tôi nhận được một lỗi:Lỗi khi sử dụng appcmd để thêm liên kết ssl

appcmd set site /site.name:"My site name" /+bindings.[protocol='https',bindingInformation='*:443:sub.mydomain.com'] 

Lỗi:

ERROR (message:Cannot find SITE object with identifier "bindingInformation='*:443:sub.mydomain.com']".) 

Tôi đã kiểm tra nếu trang web tồn tại và nó làm. Tôi đang làm gì sai?

Trả lời

10

Hãy thử điều này:

appcmd set site "My site name" /bindings:"https://sub.mydomain.com:443" 

Nhưng lệnh của bạn là đúng là tốt. Liệt kê tất cả các trang web và chắc chắn rằng bạn đang sử dụng một trong số họ:

appcmd list site 
+0

đâu dit bạn nhận được cú pháp không '/ +' hoặc '/ -' từ đâu? Bạn có thể cung cấp liên kết đến tài liệu không? –

14

Nếu bạn đang sử dụng PowerShell, bạn phải bao quanh tham số ràng buộc với dấu ngoặc kép để PowerShell không giải thích các dấu nháy đơn trước khi lệnh được gửi đến appcmd.

./appcmd set site /site.name: contoso /+"bindings.[protocol='https',bindingInformation='*:443:']" 

nguồn: http://technet.microsoft.com/en-us/library/cc731692(v=ws.10).aspx

+0

Cảm ơn bạn! Tôi đã nhận được một nhức đầu cố gắng để thực hiện công việc này trong PowerShell. :) –

0

Tôi chạy vào một vấn đề trong Powershell với dấu hai chấm trong các ràng buộc. Ghép chúng giải quyết vấn đề.

[string] $cmd = "$Env:windir\SysWOW64\inetsrv\APPCMD.exe" 
$response = invoke-expression "$cmd add site /name:""$SiteName"" /id:$ID /+""bindings.[protocol='$Protocol',bindingInformation='$IP"+":$Port"+":']"" /physicalPath:""$Path""" 
0

Bạn cần chạy lệnh của mình với tư cách quản trị viên.

0

Tôi chưa bao giờ có thể thực hiện công việc này với chứng chỉ ký tự đại diện cho * .mydomain.com với tên tôi cho là một tên khá thân thiện: "mydomain.com plus wildcard". Tôi muốn chạy các lệnh trên, đi vào IIS và nhìn vào các ràng buộc và nó sẽ có nhưng không có một chứng chỉ được chọn. Việc chọn chứng chỉ sẽ xóa tên máy chủ và vô hiệu hóa nó để tôi không thể thay đổi nó.

Cuối cùng tôi đã làm việc bằng cách thay đổi tên thân thiện của chứng chỉ ký tự đại diện thành định dạng được mong đợi bởi IIS ("* .mydomain.com") và thêm thông thường qua giao diện IIS, không biết các lệnh appcmd ở trên có hoạt động không . Các đạo đức của câu chuyện này là để cung cấp cho cercard ký tự đại diện tiêu chuẩn hình thức thân thiện với tên.

0

Tôi tạo ra một tập tin batch để đạt được điều đó:

@echo off 

set /p sitename="Enter the site Name (as displayed in IIS): " %=% 
set /p siteurl="Enter the site Host Header(the site url): " %=% 
set /p siteip="Enter the site IP Address (ip address or *): " %=% 
set /p siteprotocol="Enter the site Protocol (http, https, etc): " %=% 
set /p siteport="Enter the site Port (80, 443): " %=% 

appcmd set site /site.name:"%sitename%" /+bindings.[protocol='%siteprotocol%',bindingInformation='%siteip%:%siteport%:%siteurl%'] 

pause 
Các vấn đề liên quan